diff options
Diffstat (limited to 'test/test_job.py')
| -rw-r--r-- | test/test_job.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/test_job.py b/test/test_job.py index 1aeec1c..0276555 100644 --- a/test/test_job.py +++ b/test/test_job.py @@ -37,6 +37,31 @@ class TestJob(unittest.TestCase): return buffer.getvalue() +class TestDownloadJob(TestJob): + jobclass = job.DownloadJob + + def test_extractor_filter(self): + extr = TestExtractor.from_url("test:") + tjob = self.jobclass(extr) + + func = tjob._build_extractor_filter() + self.assertEqual(func(TestExtractor) , False) + self.assertEqual(func(TestExtractorParent), False) + self.assertEqual(func(TestExtractorAlt) , True) + + config.set((), "blacklist", ":test_subcategory") + func = tjob._build_extractor_filter() + self.assertEqual(func(TestExtractor) , False) + self.assertEqual(func(TestExtractorParent), True) + self.assertEqual(func(TestExtractorAlt) , False) + + config.set((), "whitelist", "test_category:test_subcategory") + func = tjob._build_extractor_filter() + self.assertEqual(func(TestExtractor) , True) + self.assertEqual(func(TestExtractorParent), False) + self.assertEqual(func(TestExtractorAlt) , False) + + class TestKeywordJob(TestJob): jobclass = job.KeywordJob @@ -334,5 +359,10 @@ class TestExtractorException(Extractor): return 1/0 +class TestExtractorAlt(Extractor): + category = "test_category_alt" + subcategory = "test_subcategory" + + if __name__ == '__main__': unittest.main() |
