aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_extractor.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2025-03-29 07:20:04 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2025-03-29 07:20:04 -0400
commit5ea6cce4fb40d2cc4f1d7849e44e6825ac2f3a73 (patch)
tree2d7040d732323306b2227682068ed5c9e12d4bf0 /test/test_extractor.py
parent68863e88e0e0d8c08a8631831c05c302527627b1 (diff)
parent662e5ac868a5c1a3e7bc95b37054b3a0ca4db74f (diff)
Update upstream source from tag 'upstream/1.29.3'
Update to upstream version '1.29.3' with Debian dir 131b9b3bdbc67af5fe84f139a5b499a550f7c22b
Diffstat (limited to 'test/test_extractor.py')
-rw-r--r--test/test_extractor.py55
1 files changed, 34 insertions, 21 deletions
diff --git a/test/test_extractor.py b/test/test_extractor.py
index cc85fb2..dfc5ff8 100644
--- a/test/test_extractor.py
+++ b/test/test_extractor.py
@@ -104,27 +104,39 @@ class TestExtractorModule(unittest.TestCase):
@unittest.skipIf(not results, "no test data")
def test_categories(self):
for result in results.all():
- url = result["#url"]
- cls = result["#class"]
- try:
- extr = cls.from_url(url)
- except ImportError as exc:
- if exc.name in ("youtube_dl", "yt_dlp"):
- print("Skipping '{}' category checks".format(cls.category))
- continue
- raise
- self.assertTrue(extr, url)
-
- categories = result.get("#category")
- if categories:
- base, cat, sub = categories
+ if result.get("#fail"):
+ try:
+ self.assertCategories(result)
+ except AssertionError:
+ pass
+ else:
+ self.fail(result["#url"] + ": Test did not fail")
else:
- cat = cls.category
- sub = cls.subcategory
- base = cls.basecategory
- self.assertEqual(extr.category, cat, url)
- self.assertEqual(extr.subcategory, sub, url)
- self.assertEqual(extr.basecategory, base, url)
+ self.assertCategories(result)
+
+ def assertCategories(self, result):
+ url = result["#url"]
+ cls = result["#class"]
+
+ try:
+ extr = cls.from_url(url)
+ except ImportError as exc:
+ if exc.name in ("youtube_dl", "yt_dlp"):
+ print("Skipping '{}' category checks".format(cls.category))
+ return
+ raise
+ self.assertTrue(extr, url)
+
+ categories = result.get("#category")
+ if categories:
+ base, cat, sub = categories
+ else:
+ cat = cls.category
+ sub = cls.subcategory
+ base = cls.basecategory
+ 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):
@@ -133,7 +145,8 @@ class TestExtractorModule(unittest.TestCase):
append = test_urls.append
for result in results.all():
- append((result["#url"], result["#class"]))
+ if not result.get("#fail"):
+ append((result["#url"], result["#class"]))
# iterate over all testcase URLs
for url, extr1 in test_urls: