def test_include_pattern(self): # return False if no match file_list = FileList() file_list.set_allfiles([]) assert not file_list.include_pattern('*.py') # return True if files match file_list = FileList() file_list.set_allfiles(['a.py', 'b.txt']) assert file_list.include_pattern('*.py') # test * matches all files file_list = FileList() assert file_list.allfiles is None file_list.set_allfiles(['a.py', 'b.txt']) file_list.include_pattern('*') assert file_list.allfiles == ['a.py', 'b.txt']
def test_process_template(self): l = make_local_path # invalid lines file_list = FileList() for action in ('include', 'exclude', 'global-include', 'global-exclude', 'recursive-include', 'recursive-exclude', 'graft', 'prune', 'blarg'): try: file_list.process_template_line(action) except DistutilsTemplateError: pass except Exception: assert False, "Incorrect error thrown" else: assert False, "Should have thrown an error" # include file_list = FileList() file_list.set_allfiles(['a.py', 'b.txt', l('d/c.py')]) file_list.process_template_line('include *.py') assert file_list.files == ['a.py'] self.assertNoWarnings() file_list.process_template_line('include *.rb') assert file_list.files == ['a.py'] self.assertWarnings() # exclude file_list = FileList() file_list.files = ['a.py', 'b.txt', l('d/c.py')] file_list.process_template_line('exclude *.py') assert file_list.files == ['b.txt', l('d/c.py')] self.assertNoWarnings() file_list.process_template_line('exclude *.rb') assert file_list.files == ['b.txt', l('d/c.py')] self.assertWarnings() # global-include file_list = FileList() file_list.set_allfiles(['a.py', 'b.txt', l('d/c.py')]) file_list.process_template_line('global-include *.py') assert file_list.files == ['a.py', l('d/c.py')] self.assertNoWarnings() file_list.process_template_line('global-include *.rb') assert file_list.files == ['a.py', l('d/c.py')] self.assertWarnings() # global-exclude file_list = FileList() file_list.files = ['a.py', 'b.txt', l('d/c.py')] file_list.process_template_line('global-exclude *.py') assert file_list.files == ['b.txt'] self.assertNoWarnings() file_list.process_template_line('global-exclude *.rb') assert file_list.files == ['b.txt'] self.assertWarnings() # recursive-include file_list = FileList() file_list.set_allfiles(['a.py', l('d/b.py'), l('d/c.txt'), l('d/d/e.py')]) file_list.process_template_line('recursive-include d *.py') assert file_list.files == [l('d/b.py'), l('d/d/e.py')] self.assertNoWarnings() file_list.process_template_line('recursive-include e *.py') assert file_list.files == [l('d/b.py'), l('d/d/e.py')] self.assertWarnings() # recursive-exclude file_list = FileList() file_list.files = ['a.py', l('d/b.py'), l('d/c.txt'), l('d/d/e.py')] file_list.process_template_line('recursive-exclude d *.py') assert file_list.files == ['a.py', l('d/c.txt')] self.assertNoWarnings() file_list.process_template_line('recursive-exclude e *.py') assert file_list.files == ['a.py', l('d/c.txt')] self.assertWarnings() # graft file_list = FileList() file_list.set_allfiles(['a.py', l('d/b.py'), l('d/d/e.py'), l('f/f.py')]) file_list.process_template_line('graft d') assert file_list.files == [l('d/b.py'), l('d/d/e.py')] self.assertNoWarnings() file_list.process_template_line('graft e') assert file_list.files == [l('d/b.py'), l('d/d/e.py')] self.assertWarnings() # prune file_list = FileList() file_list.files = ['a.py', l('d/b.py'), l('d/d/e.py'), l('f/f.py')] file_list.process_template_line('prune d') assert file_list.files == ['a.py', l('f/f.py')] self.assertNoWarnings() file_list.process_template_line('prune e') assert file_list.files == ['a.py', l('f/f.py')] self.assertWarnings()