aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_results.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2024-03-25 02:57:50 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2024-03-25 02:57:50 -0400
commit039aecad63a074bdcc75bd4f30c84bdc4a1a244f (patch)
tree39997d0361f67208c716fba6717895b42ee309d1 /test/test_results.py
parent77d11300e15ee4045b187a58ee6e039624e5d69c (diff)
parent6e662211019a89caec44de8a57c675872b0b5498 (diff)
Update upstream source from tag 'upstream/1.26.9'
Update to upstream version '1.26.9' with Debian dir e04ff15132747292d335c9d456bd879aca333115
Diffstat (limited to 'test/test_results.py')
-rw-r--r--test/test_results.py32
1 files changed, 17 insertions, 15 deletions
diff --git a/test/test_results.py b/test/test_results.py
index bceb271..0594618 100644
--- a/test/test_results.py
+++ b/test/test_results.py
@@ -214,44 +214,46 @@ class TestExtractorResults(unittest.TestCase):
for kwdict in tjob.kwdict_list:
self._test_kwdict(kwdict, metadata)
- def _test_kwdict(self, kwdict, tests):
+ def _test_kwdict(self, kwdict, tests, parent=None):
for key, test in tests.items():
if key.startswith("?"):
key = key[1:]
if key not in kwdict:
continue
- self.assertIn(key, kwdict, msg=key)
+ path = "{}.{}".format(parent, key) if parent else key
+ self.assertIn(key, kwdict, msg=path)
value = kwdict[key]
if isinstance(test, dict):
- self._test_kwdict(value, test)
+ self._test_kwdict(value, test, path)
elif isinstance(test, type):
- self.assertIsInstance(value, test, msg=key)
+ self.assertIsInstance(value, test, msg=path)
elif isinstance(test, range):
- self.assertRange(value, test, msg=key)
+ self.assertRange(value, test, msg=path)
elif isinstance(test, list):
subtest = False
for idx, item in enumerate(test):
if isinstance(item, dict):
subtest = True
- self._test_kwdict(value[idx], item)
+ subpath = "{}[{}]".format(path, idx)
+ self._test_kwdict(value[idx], item, subpath)
if not subtest:
- self.assertEqual(test, value, msg=key)
+ self.assertEqual(test, value, msg=path)
elif isinstance(test, str):
if test.startswith("re:"):
- self.assertRegex(value, test[3:], msg=key)
+ self.assertRegex(value, test[3:], msg=path)
elif test.startswith("dt:"):
- self.assertIsInstance(value, datetime.datetime, msg=key)
- self.assertEqual(test[3:], str(value), msg=key)
+ self.assertIsInstance(value, datetime.datetime, msg=path)
+ self.assertEqual(test[3:], str(value), msg=path)
elif test.startswith("type:"):
- self.assertEqual(test[5:], type(value).__name__, msg=key)
+ self.assertEqual(test[5:], type(value).__name__, msg=path)
elif test.startswith("len:"):
- self.assertIsInstance(value, (list, tuple), msg=key)
- self.assertEqual(int(test[4:]), len(value), msg=key)
+ self.assertIsInstance(value, (list, tuple), msg=path)
+ self.assertEqual(int(test[4:]), len(value), msg=path)
else:
- self.assertEqual(test, value, msg=key)
+ self.assertEqual(test, value, msg=path)
else:
- self.assertEqual(test, value, msg=key)
+ self.assertEqual(test, value, msg=path)
class ResultJob(job.DownloadJob):