From 0db541f524e1774865efebcbe5653e9ad76ea2e8 Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Mon, 14 Oct 2024 03:02:05 -0400 Subject: New upstream version 1.27.6. --- test/test_formatter.py | 2 +- test/test_results.py | 7 ++++++- test/test_text.py | 22 ++++++++++++++++++++++ 3 files changed, 29 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/test_formatter.py b/test/test_formatter.py index f1d752d..c0b504d 100644 --- a/test/test_formatter.py +++ b/test/test_formatter.py @@ -64,7 +64,7 @@ class TestFormatter(unittest.TestCase): self._run_test("{t!d}", datetime.datetime(2010, 1, 1)) self._run_test("{t!d:%Y-%m-%d}", "2010-01-01") self._run_test("{dt!T}", "1262304000") - self._run_test("{l!j}", '["a", "b", "c"]') + self._run_test("{l!j}", '["a","b","c"]') self._run_test("{dt!j}", '"2010-01-01 00:00:00"') self._run_test("{a!g}", "hello-world") self._run_test("{a!L}", 11) diff --git a/test/test_results.py b/test/test_results.py index aa09f2f..ed9c9a9 100644 --- a/test/test_results.py +++ b/test/test_results.py @@ -210,6 +210,7 @@ class TestExtractorResults(unittest.TestCase): if "#urls" in result: expected = result["#urls"] if isinstance(expected, str): + self.assertTrue(tjob.url_list, msg="#urls") self.assertEqual(tjob.url_list[0], expected, msg="#urls") else: self.assertSequenceEqual(tjob.url_list, expected, msg="#urls") @@ -235,6 +236,8 @@ class TestExtractorResults(unittest.TestCase): self.assertIsInstance(value, test, msg=path) elif isinstance(test, range): self.assertRange(value, test, msg=path) + elif isinstance(test, set): + self.assertIn(value, test, msg=path) elif isinstance(test, list): subtest = False for idx, item in enumerate(test): @@ -286,6 +289,8 @@ class ResultJob(job.DownloadJob): "".join(self.extractor.directory_fmt)).format_map self.format_filename = TestFormatter( self.extractor.filename_fmt).format_map + self.format_archive = TestFormatter( + self.extractor.archive_fmt).format_map def run(self): self._init() @@ -323,7 +328,7 @@ class ResultJob(job.DownloadJob): json.dumps(kwdict, sort_keys=True, default=str).encode()) def _update_archive(self, kwdict): - archive_id = self.extractor.archive_fmt.format_map(kwdict) + archive_id = self.format_archive(kwdict) self.archive_list.append(archive_id) self.archive_hash.update(archive_id.encode()) diff --git a/test/test_text.py b/test/test_text.py index 084436b..1b19c47 100644 --- a/test/test_text.py +++ b/test/test_text.py @@ -413,6 +413,28 @@ class TestText(unittest.TestCase): for value in INVALID: self.assertEqual(f(value), {}) + def test_parse_query_list(self, f=text.parse_query_list): + # standard usage + self.assertEqual(f(""), {}) + self.assertEqual(f("foo=1"), {"foo": "1"}) + self.assertEqual(f("foo=1&bar=2"), {"foo": "1", "bar": "2"}) + + # missing value + self.assertEqual(f("bar"), {}) + self.assertEqual(f("foo=1&bar"), {"foo": "1"}) + self.assertEqual(f("foo=1&bar&baz=3"), {"foo": "1", "baz": "3"}) + + # keys with identical names + self.assertEqual(f("foo=1&foo=2"), {"foo": ["1", "2"]}) + self.assertEqual( + f("foo=1&bar=2&foo=3&bar=4&foo=5"), + {"foo": ["1", "3", "5"], "bar": ["2", "4"]}, + ) + + # invalid arguments + for value in INVALID: + self.assertEqual(f(value), {}) + def test_parse_timestamp(self, f=text.parse_timestamp): null = util.datetime_utcfromtimestamp(0) value = util.datetime_utcfromtimestamp(1555816235) -- cgit v1.2.3