aboutsummaryrefslogtreecommitdiffstats
path: root/test
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
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')
-rw-r--r--test/test_config.py1
-rw-r--r--test/test_cookies.py48
-rw-r--r--test/test_extractor.py55
-rw-r--r--test/test_results.py9
4 files changed, 83 insertions, 30 deletions
diff --git a/test/test_config.py b/test/test_config.py
index 1d49d77..be58456 100644
--- a/test/test_config.py
+++ b/test/test_config.py
@@ -168,6 +168,7 @@ class TestConfig(unittest.TestCase):
options = (
(("b",) , "c", [1, 2, 3]),
(("e", "f"), "g", 234),
+ (("e", "f"), "g", 234),
)
self.assertEqual(config.get(("b",) , "c"), "text")
diff --git a/test/test_cookies.py b/test/test_cookies.py
index 60c83ff..9ba562c 100644
--- a/test/test_cookies.py
+++ b/test/test_cookies.py
@@ -153,19 +153,49 @@ class TestCookieUtils(unittest.TestCase):
self.assertFalse(extr.cookies_check(("a",)))
self.assertFalse(extr.cookies_check(("a", "b")))
- extr.cookies.set("a", "1")
- self.assertFalse(extr.cookies_check(("a",)))
+ extr.cookies.set("nd_a", "1")
+ self.assertFalse(extr.cookies_check(("nd_a",)))
- extr.cookies.set("a", "1", domain=extr.cookies_domain)
- self.assertTrue(extr.cookies_check(("a",)))
+ extr.cookies.set("cd_a", "1", domain=extr.cookies_domain)
+ self.assertTrue(extr.cookies_check(("cd_a",)))
- extr.cookies.set("a", "1", domain="www" + extr.cookies_domain)
+ extr.cookies.set("wd_a", "1", domain="www" + extr.cookies_domain)
+ self.assertFalse(extr.cookies_check(("wd_a",)))
self.assertEqual(len(extr.cookies), 3)
- self.assertTrue(extr.cookies_check(("a",)))
- extr.cookies.set("b", "2", domain=extr.cookies_domain)
- extr.cookies.set("c", "3", domain=extr.cookies_domain)
- self.assertTrue(extr.cookies_check(("a", "b", "c")))
+ extr.cookies.set("cd_b", "2", domain=extr.cookies_domain)
+ extr.cookies.set("cd_c", "3", domain=extr.cookies_domain)
+ self.assertFalse(extr.cookies_check(("nd_a", "cd_b", "cd_c")))
+ self.assertTrue(extr.cookies_check(("cd_a", "cd_b", "cd_c")))
+ self.assertFalse(extr.cookies_check(("wd_a", "cd_b", "cd_c")))
+ self.assertEqual(len(extr.cookies), 5)
+
+ def test_check_cookies_domain_sub(self):
+ extr = _get_extractor("test")
+ self.assertFalse(extr.cookies, "empty")
+ extr.cookies_domain = ".example.org"
+
+ self.assertFalse(extr.cookies_check(("a",), subdomains=True))
+ self.assertFalse(extr.cookies_check(("a", "b"), subdomains=True))
+
+ extr.cookies.set("nd_a", "1")
+ self.assertFalse(extr.cookies_check(("nd_a",), subdomains=True))
+
+ extr.cookies.set("cd_a", "1", domain=extr.cookies_domain)
+ self.assertTrue(extr.cookies_check(("cd_a",), subdomains=True))
+
+ extr.cookies.set("wd_a", "1", domain="www" + extr.cookies_domain)
+ self.assertTrue(extr.cookies_check(("wd_a",), subdomains=True))
+
+ extr.cookies.set("cd_b", "2", domain=extr.cookies_domain)
+ extr.cookies.set("cd_c", "3", domain=extr.cookies_domain)
+ self.assertEqual(len(extr.cookies), 5)
+ self.assertFalse(extr.cookies_check(
+ ("nd_a", "cd_b", "cd_c"), subdomains=True))
+ self.assertTrue(extr.cookies_check(
+ ("cd_a", "cd_b", "cd_c"), subdomains=True))
+ self.assertTrue(extr.cookies_check(
+ ("wd_a", "cd_b", "cd_c"), subdomains=True))
def test_check_cookies_expires(self):
extr = _get_extractor("test")
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:
diff --git a/test/test_results.py b/test/test_results.py
index 3136743..28db6c3 100644
--- a/test/test_results.py
+++ b/test/test_results.py
@@ -92,6 +92,15 @@ class TestExtractorResults(unittest.TestCase):
self.assertGreaterEqual(value, range.start, msg=msg)
def _run_test(self, result):
+ if result.get("#fail"):
+ del result["#fail"]
+ try:
+ self._run_test(result)
+ except AssertionError:
+ return
+ else:
+ self.fail("Test did not fail")
+
base, cat, sub = result_categories(result)
result.pop("#comment", None)
result.pop("#category", None)