From 662e5ac868a5c1a3e7bc95b37054b3a0ca4db74f Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sat, 29 Mar 2025 07:19:58 -0400 Subject: New upstream version 1.29.3. --- test/test_extractor.py | 55 +++++++++++++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 21 deletions(-) (limited to 'test/test_extractor.py') 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: -- cgit v1.2.3