Преглед изворни кода

Implement stub Repo.__iter__, so NotImplementedError is raised rather than KeyError.

Jelmer Vernooij пре 13 година
родитељ
комит
bd086daaa4
2 измењених фајлова са 7 додато и 0 уклоњено
  1. 3 0
      dulwich/repo.py
  2. 4 0
      dulwich/tests/test_repository.py

+ 3 - 0
dulwich/repo.py

@@ -1004,6 +1004,9 @@ class BaseRepo(object):
         except RefFormatError:
             raise KeyError(name)
 
+    def __iter__(self):
+        raise NotImplementedError(self.__iter__)
+
     def __contains__(self, name):
         if len(name) in (20, 40):
             return name in self.object_store or name in self.refs

+ 4 - 0
dulwich/tests/test_repository.py

@@ -113,6 +113,10 @@ class RepositoryTests(TestCase):
         self.assertEqual(r.ref('refs/heads/master'),
                          'a90fa2d900a17e99b433217e988c4eb4a2e9a097')
 
+    def test_iter(self):
+        r = self._repo = open_repo('a.git')
+        self.assertRaises(NotImplementedError, r.__iter__)
+
     def test_setitem(self):
         r = self._repo = open_repo('a.git')
         r["refs/tags/foo"] = 'a90fa2d900a17e99b433217e988c4eb4a2e9a097'