From 12e23f1195164dcb740d6d4a4287e762c9e5e534 Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Tue, 23 Jan 2024 23:35:00 -0500 Subject: New upstream version 1.26.7. --- test/test_extractor.py | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'test/test_extractor.py') diff --git a/test/test_extractor.py b/test/test_extractor.py index d2dd643..75a0b87 100644 --- a/test/test_extractor.py +++ b/test/test_extractor.py @@ -24,6 +24,11 @@ from gallery_dl.extractor.directlink import DirectlinkExtractor # noqa E402 _list_classes = extractor._list_classes +try: + from test import results +except ImportError: + results = None + class FakeExtractor(Extractor): category = "fake" @@ -92,17 +97,29 @@ class TestExtractorModule(unittest.TestCase): with self.assertRaises(TypeError): FakeExtractor.from_url(invalid) - def test_unique_pattern_matches(self): - try: - import test.results - except ImportError: - raise unittest.SkipTest("no test data") + @unittest.skipIf(not results, "no test data") + def test_categories(self): + for result in results.all(): + url = result["#url"] + base, cat, sub = result["#category"] + try: + extr = result["#class"].from_url(url) + except ImportError as exc: + if exc.name in ("youtube_dl", "yt_dlp"): + print("Skipping '{}' category checks".format(cat)) + continue + raise + self.assertEqual(extr.category, cat, url) + self.assertEqual(extr.subcategory, sub, url) + self.assertEqual(extr.basecategory, base, url) + @unittest.skipIf(not results, "no test data") + def test_unique_pattern_matches(self): # collect testcase URLs test_urls = [] append = test_urls.append - for result in test.results.all(): + for result in results.all(): append((result["#url"], result["#class"])) # iterate over all testcase URLs -- cgit v1.2.3