aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test_formatter.py2
-rw-r--r--test/test_results.py7
-rw-r--r--test/test_text.py22
3 files changed, 29 insertions, 2 deletions
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)