aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_extractor.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2024-01-23 23:35:00 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2024-01-23 23:35:00 -0500
commit12e23f1195164dcb740d6d4a4287e762c9e5e534 (patch)
treee6b13483475c510ea2f685c21363271f23745c56 /test/test_extractor.py
parente949aaf6f6ac93896947d5b736e48e7911926efb (diff)
New upstream version 1.26.7.upstream/1.26.7
Diffstat (limited to 'test/test_extractor.py')
-rw-r--r--test/test_extractor.py29
1 files changed, 23 insertions, 6 deletions
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