"""Tests for distutils.filelist.""" import unittest from distutils.filelist import glob_to_re, FileList from test.support import captured_stdout, run_unittest from distutils import debug class FileListTestCase(unittest.TestCase): def test_glob_to_re(self): # simple cases self.assertEqual(glob_to_re('foo*'), 'foo[^/]*\\Z(?ms)') self.assertEqual(glob_to_re('foo?'), 'foo[^/]\\Z(?ms)') self.assertEqual(glob_to_re('foo??'), 'foo[^/][^/]\\Z(?ms)') # special cases self.assertEqual(glob_to_re(r'foo\\*'), r'foo\\\\[^/]*\Z(?ms)') self.assertEqual(glob_to_re(r'foo\\\*'), r'foo\\\\\\[^/]*\Z(?ms)') self.assertEqual(glob_to_re('foo????'), r'foo[^/][^/][^/][^/]\Z(?ms)') self.assertEqual(glob_to_re(r'foo\\??'), r'foo\\\\[^/][^/]\Z(?ms)') def test_debug_print(self): file_list = FileList() with captured_stdout() as stdout: file_list.debug_print('xxx') stdout.seek(0) self.assertEqual(stdout.read(), '') debug.DEBUG = True try: with captured_stdout() as stdout: file_list.debug_print('xxx') stdout.seek(0) self.assertEqual(stdout.read(), 'xxx\n') finally: debug.DEBUG = False def test_suite(): return unittest.makeSuite(FileListTestCase) if __name__ == "__main__": run_unittest(test_suite())