Переглянути джерело

Implement ShaFile.__hash__.

Jelmer Vernooij 15 роки тому
батько
коміт
a01c082949
3 змінених файлів з 13 додано та 0 видалено
  1. 6 0
      NEWS
  2. 3 0
      dulwich/objects.py
  3. 4 0
      dulwich/tests/test_objects.py

+ 6 - 0
NEWS

@@ -1,3 +1,9 @@
+0.3.3	UNRELEASED
+
+ FEATURES
+
+  * Implement ShaFile.__hash__().
+
 0.3.2	2009-05-20
 
  BUG FIXES

+ 3 - 0
dulwich/objects.py

@@ -128,6 +128,9 @@ class ShaFile(object):
     def __str__(self):
         return self.as_raw_string()
 
+    def __hash__(self):
+        return hash(self.id)
+
     def as_pretty_string(self):
         return self.as_raw_string()
 

+ 4 - 0
dulwich/tests/test_objects.py

@@ -66,6 +66,10 @@ class BlobReadTests(unittest.TestCase):
         self.assertEqual(b.data, 'test 1\n')
         self.assertEqual(b.sha().hexdigest(), a_sha)
   
+    def test_hash(self):
+        b = self.get_blob(a_sha)
+        self.assertEqual(hash(b.id), hash(b))
+
     def test_parse_empty_blob_object(self):
         sha = 'e69de29bb2d1d6434b8b29ae775ad8c2e48c5391'
         b = self.get_blob(sha)