Tarek Ziadé | 889b0aa | 2009-04-05 21:49:36 +0000 | [diff] [blame] | 1 | """Tests for distutils.filelist.""" |
| 2 | import unittest |
Tarek Ziadé | 8349669 | 2009-09-21 13:10:05 +0000 | [diff] [blame] | 3 | |
| 4 | from distutils.filelist import glob_to_re, FileList |
Éric Araujo | b344dd0 | 2011-02-02 21:38:37 +0000 | [diff] [blame^] | 5 | from test.support import captured_stdout, run_unittest |
Tarek Ziadé | 8349669 | 2009-09-21 13:10:05 +0000 | [diff] [blame] | 6 | from distutils import debug |
Tarek Ziadé | 889b0aa | 2009-04-05 21:49:36 +0000 | [diff] [blame] | 7 | |
| 8 | class FileListTestCase(unittest.TestCase): |
| 9 | |
| 10 | def test_glob_to_re(self): |
| 11 | # simple cases |
Ezio Melotti | 19f2aeb | 2010-11-21 01:30:29 +0000 | [diff] [blame] | 12 | self.assertEqual(glob_to_re('foo*'), 'foo[^/]*\\Z(?ms)') |
| 13 | self.assertEqual(glob_to_re('foo?'), 'foo[^/]\\Z(?ms)') |
| 14 | self.assertEqual(glob_to_re('foo??'), 'foo[^/][^/]\\Z(?ms)') |
Tarek Ziadé | 889b0aa | 2009-04-05 21:49:36 +0000 | [diff] [blame] | 15 | |
| 16 | # special cases |
Ezio Melotti | 19f2aeb | 2010-11-21 01:30:29 +0000 | [diff] [blame] | 17 | self.assertEqual(glob_to_re(r'foo\\*'), r'foo\\\\[^/]*\Z(?ms)') |
| 18 | self.assertEqual(glob_to_re(r'foo\\\*'), r'foo\\\\\\[^/]*\Z(?ms)') |
| 19 | self.assertEqual(glob_to_re('foo????'), r'foo[^/][^/][^/][^/]\Z(?ms)') |
| 20 | self.assertEqual(glob_to_re(r'foo\\??'), r'foo\\\\[^/][^/]\Z(?ms)') |
Tarek Ziadé | 889b0aa | 2009-04-05 21:49:36 +0000 | [diff] [blame] | 21 | |
Tarek Ziadé | 8349669 | 2009-09-21 13:10:05 +0000 | [diff] [blame] | 22 | def test_debug_print(self): |
| 23 | file_list = FileList() |
| 24 | with captured_stdout() as stdout: |
| 25 | file_list.debug_print('xxx') |
| 26 | stdout.seek(0) |
Ezio Melotti | 19f2aeb | 2010-11-21 01:30:29 +0000 | [diff] [blame] | 27 | self.assertEqual(stdout.read(), '') |
Tarek Ziadé | 8349669 | 2009-09-21 13:10:05 +0000 | [diff] [blame] | 28 | |
| 29 | debug.DEBUG = True |
| 30 | try: |
| 31 | with captured_stdout() as stdout: |
| 32 | file_list.debug_print('xxx') |
| 33 | stdout.seek(0) |
Ezio Melotti | 19f2aeb | 2010-11-21 01:30:29 +0000 | [diff] [blame] | 34 | self.assertEqual(stdout.read(), 'xxx\n') |
Tarek Ziadé | 8349669 | 2009-09-21 13:10:05 +0000 | [diff] [blame] | 35 | finally: |
| 36 | debug.DEBUG = False |
| 37 | |
Tarek Ziadé | 889b0aa | 2009-04-05 21:49:36 +0000 | [diff] [blame] | 38 | def test_suite(): |
| 39 | return unittest.makeSuite(FileListTestCase) |
| 40 | |
| 41 | if __name__ == "__main__": |
Éric Araujo | b344dd0 | 2011-02-02 21:38:37 +0000 | [diff] [blame^] | 42 | run_unittest(test_suite()) |