home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / vyzkuste / firewally / firewally.exe / framework-2.3.exe / test_fnmatch.py < prev    next >
Text File  |  2003-12-30  |  1KB  |  47 lines

  1. """Test cases for the fnmatch module."""
  2.  
  3. from test import test_support
  4. import unittest
  5.  
  6. from fnmatch import fnmatch, fnmatchcase
  7.  
  8.  
  9. class FnmatchTestCase(unittest.TestCase):
  10.     def check_match(self, filename, pattern, should_match=1):
  11.         if should_match:
  12.             self.assert_(fnmatch(filename, pattern),
  13.                          "expected %r to match pattern %r"
  14.                          % (filename, pattern))
  15.         else:
  16.             self.assert_(not fnmatch(filename, pattern),
  17.                          "expected %r not to match pattern %r"
  18.                          % (filename, pattern))
  19.  
  20.     def test_fnmatch(self):
  21.         check = self.check_match
  22.         check('abc', 'abc')
  23.         check('abc', '?*?')
  24.         check('abc', '???*')
  25.         check('abc', '*???')
  26.         check('abc', '???')
  27.         check('abc', '*')
  28.         check('abc', 'ab[cd]')
  29.         check('abc', 'ab[!de]')
  30.         check('abc', 'ab[de]', 0)
  31.         check('a', '??', 0)
  32.         check('a', 'b', 0)
  33.  
  34.         # these test that '\' is handled correctly in character sets;
  35.         # see SF bug #???
  36.         check('\\', r'[\]')
  37.         check('a', r'[!\]')
  38.         check('\\', r'[!\]', 0)
  39.  
  40.  
  41. def test_main():
  42.     test_support.run_unittest(FnmatchTestCase)
  43.  
  44.  
  45. if __name__ == "__main__":
  46.     test_main()
  47.