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

Simplify IncludePattern and add a few more tests to PatternTestCase.

Dan Christensen пре 11 година
родитељ
комит
8cc74be62e
2 измењених фајлова са 5 додато и 3 уклоњено
  1. 2 3
      attic/helpers.py
  2. 3 0
      attic/testsuite/helpers.py

+ 2 - 3
attic/helpers.py

@@ -165,11 +165,10 @@ class IncludePattern:
     path match as well.  A trailing slash makes no difference.
     """
     def __init__(self, pattern):
-        self.pattern = pattern.rstrip(os.path.sep)
+        self.pattern = pattern.rstrip(os.path.sep)+os.path.sep
 
     def match(self, path):
-        return (path == self.pattern
-                or path.startswith(self.pattern+os.path.sep))
+        return (path+os.path.sep).startswith(self.pattern)
 
     def __repr__(self):
         return '%s(%s)' % (type(self), self.pattern)

+ 3 - 0
attic/testsuite/helpers.py

@@ -61,6 +61,9 @@ class PatternTestCase(AtticTestCase):
         return [path for path in self.files if not exclude_path(path, patterns)]
 
     def test(self):
+        self.assert_equal(self.evaluate(['/'], []), self.files)
+        self.assert_equal(self.evaluate([], []), self.files)
+        self.assert_equal(self.evaluate(['/'], ['/h']), self.files)
         self.assert_equal(self.evaluate(['/'], ['/home']),
                           ['/etc/passwd', '/etc/hosts', '/var/log/messages', '/var/log/dmesg'])
         self.assert_equal(self.evaluate(['/'], ['/home/']),