diff options
| author | 2025-03-29 07:19:58 -0400 | |
|---|---|---|
| committer | 2025-03-29 07:19:58 -0400 | |
| commit | 662e5ac868a5c1a3e7bc95b37054b3a0ca4db74f (patch) | |
| tree | 537d0429926fb5eb3719aa2b384048ae79bda0b8 /test/test_extractor.py | |
| parent | 8026a3c45446030d7af524bfc487d3462c8114ef (diff) | |
New upstream version 1.29.3.upstream/1.29.3
Diffstat (limited to 'test/test_extractor.py')
| -rw-r--r-- | test/test_extractor.py | 55 |
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: |
