tests/test-manifest.py
changeset 31876 94c1d3c1aea2
parent 31255 959ebff3505a
child 32279 68c43a416585
--- a/tests/test-manifest.py	Tue Apr 11 23:12:14 2017 +0900
+++ b/tests/test-manifest.py	Mon Apr 10 13:07:47 2017 -0700
@@ -467,5 +467,21 @@
     def parsemanifest(self, text):
         return manifestmod.treemanifest('', text)
 
+    def testWalkSubtrees(self):
+        m = self.parsemanifest(A_DEEPER_MANIFEST)
+
+        dirs = [s._dir for s in m.walksubtrees()]
+        self.assertEqual(
+            sorted(['', 'a/', 'a/c/', 'a/d/', 'a/b/', 'a/b/c/', 'a/b/d/']),
+            sorted(dirs)
+        )
+
+        match = matchmod.match('/', '', ['path:a/b/'])
+        dirs = [s._dir for s in m.walksubtrees(matcher=match)]
+        self.assertEqual(
+            sorted(['a/b/', 'a/b/c/', 'a/b/d/']),
+            sorted(dirs)
+        )
+
 if __name__ == '__main__':
     silenttestrunner.main(__name__)