From a5aecc343fd2886e7ae09bb3e2afeec38f175755 Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Wed, 1 Dec 2021 14:44:00 -0500 Subject: New upstream version 1.19.3. --- test/test_util.py | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) (limited to 'test/test_util.py') diff --git a/test/test_util.py b/test/test_util.py index 0fbbbce..32e9784 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -357,6 +357,58 @@ class TestOther(unittest.TestCase): with self.assertRaises(exception.StopExtraction): expr() + def test_extractor_filter(self): + # empty + func = util.build_extractor_filter("") + self.assertEqual(func(TestExtractor) , True) + self.assertEqual(func(TestExtractorParent), True) + self.assertEqual(func(TestExtractorAlt) , True) + + # category + func = util.build_extractor_filter("test_category") + self.assertEqual(func(TestExtractor) , False) + self.assertEqual(func(TestExtractorParent), False) + self.assertEqual(func(TestExtractorAlt) , True) + + # subcategory + func = util.build_extractor_filter("*:test_subcategory") + self.assertEqual(func(TestExtractor) , False) + self.assertEqual(func(TestExtractorParent), True) + self.assertEqual(func(TestExtractorAlt) , False) + + # basecategory + func = util.build_extractor_filter("test_basecategory") + self.assertEqual(func(TestExtractor) , False) + self.assertEqual(func(TestExtractorParent), False) + self.assertEqual(func(TestExtractorAlt) , False) + + # category-subcategory pair + func = util.build_extractor_filter("test_category:test_subcategory") + self.assertEqual(func(TestExtractor) , False) + self.assertEqual(func(TestExtractorParent), True) + self.assertEqual(func(TestExtractorAlt) , True) + + # combination + func = util.build_extractor_filter( + ["test_category", "*:test_subcategory"]) + self.assertEqual(func(TestExtractor) , False) + self.assertEqual(func(TestExtractorParent), False) + self.assertEqual(func(TestExtractorAlt) , False) + + # whitelist + func = util.build_extractor_filter( + "test_category:test_subcategory", negate=False) + self.assertEqual(func(TestExtractor) , True) + self.assertEqual(func(TestExtractorParent), False) + self.assertEqual(func(TestExtractorAlt) , False) + + func = util.build_extractor_filter( + ["test_category:test_subcategory", "*:test_subcategory_parent"], + negate=False) + self.assertEqual(func(TestExtractor) , True) + self.assertEqual(func(TestExtractorParent), True) + self.assertEqual(func(TestExtractorAlt) , False) + def test_generate_token(self): tokens = set() for _ in range(100): @@ -469,5 +521,21 @@ class TestOther(unittest.TestCase): self.assertIs(obj["key"], obj) +class TestExtractor(): + category = "test_category" + subcategory = "test_subcategory" + basecategory = "test_basecategory" + + +class TestExtractorParent(TestExtractor): + category = "test_category" + subcategory = "test_subcategory_parent" + + +class TestExtractorAlt(TestExtractor): + category = "test_category_alt" + subcategory = "test_subcategory" + + if __name__ == '__main__': unittest.main() -- cgit v1.2.3