def testCanFindTextItemsPartForPatternItems(self): pattern = antglob.AntPattern('a?c/d*') patternItems = pattern.patternItems self.assertEqual(antglob._indexInTextItemsWherePatternPartsMatch(antglob._splitTextParts('abc/d'), patternItems), 0) self.assertEqual(antglob._indexInTextItemsWherePatternPartsMatch(antglob._splitTextParts('0/abc/d'), patternItems), 1) self.assertEqual(antglob._indexInTextItemsWherePatternPartsMatch(antglob._splitTextParts('abc/d/e'), patternItems), 0) self.assertEqual(antglob._indexInTextItemsWherePatternPartsMatch(antglob._splitTextParts('abc'), patternItems), None) self.assertEqual(antglob._indexInTextItemsWherePatternPartsMatch(antglob._splitTextParts('cannot/find/me'), patternItems), None) self.assertEqual(antglob._indexInTextItemsWherePatternPartsMatch(antglob._splitTextParts(''), patternItems), None)
def testCanFindTextItemsInPatternItems(self): pattern = antglob.AntPattern('a/b/*_tmp/*.txt') patternItems = pattern.patternItems self.assertTrue(antglob._textItemsAreInPatternItems(antglob._splitTextParts('a'), patternItems)) self.assertFalse(antglob._textItemsAreInPatternItems(antglob._splitTextParts('!'), patternItems)) self.assertTrue(antglob._textItemsAreInPatternItems(antglob._splitTextParts('a/b'), patternItems)) self.assertTrue(antglob._textItemsAreInPatternItems(antglob._splitTextParts('b'), patternItems)) self.assertTrue(antglob._textItemsAreInPatternItems(antglob._splitTextParts('b/hugo_tmp'), patternItems)) self.assertTrue(antglob._textItemsAreInPatternItems(antglob._splitTextParts('hugo.txt'), patternItems))