[tests:results] implement general tests for list items
This commit is contained in:
@@ -37,14 +37,17 @@ __tests__ = (
|
|||||||
|
|
||||||
{
|
{
|
||||||
"#url" : "https://aibooru.online/posts/18315",
|
"#url" : "https://aibooru.online/posts/18315",
|
||||||
"#comment" : "ugoira ()",
|
"#comment" : "ugoira (#7630)",
|
||||||
"#category": ("Danbooru", "aibooru", "post"),
|
"#category": ("Danbooru", "aibooru", "post"),
|
||||||
"#class" : danbooru.DanbooruPostExtractor,
|
"#class" : danbooru.DanbooruPostExtractor,
|
||||||
"#options" : {"ugoira": True},
|
"#options" : {"ugoira": True},
|
||||||
"#urls" : "https://cdn.aibooru.download/original/f9/6b/f96b2b3254884ab527fab0a7e9c39ba9.zip",
|
"#urls" : "https://cdn.aibooru.download/original/f9/6b/f96b2b3254884ab527fab0a7e9c39ba9.zip",
|
||||||
|
|
||||||
"_ugoira_frame_data": "len:list:60",
|
"_ugoira_original" : False,
|
||||||
"_ugoira_original" : False,
|
"_ugoira_frame_data[*]": {
|
||||||
|
"file" : r"re:^0000\d\d\.jpg$",
|
||||||
|
"delay": int,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -301,12 +301,29 @@ __tests__ = (
|
|||||||
"uploader_id": 67005,
|
"uploader_id": 67005,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"#url" : "https://danbooru.donmai.us/posts/3613024",
|
||||||
|
"#category": ("Danbooru", "danbooru", "post"),
|
||||||
|
"#class" : danbooru.DanbooruPostExtractor,
|
||||||
|
"#options" : {"ugoira": False},
|
||||||
|
"#urls" : "https://cdn.donmai.us/sample/5e/e5/sample-5ee54a2d95ed36376ec1d8f6ddbdece9.webm",
|
||||||
|
|
||||||
|
"!_ugoira_original" : ...,
|
||||||
|
"!_ugoira_frame_data": ...,
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"#url" : "https://danbooru.donmai.us/posts/3613024",
|
"#url" : "https://danbooru.donmai.us/posts/3613024",
|
||||||
"#category": ("Danbooru", "danbooru", "post"),
|
"#category": ("Danbooru", "danbooru", "post"),
|
||||||
"#class" : danbooru.DanbooruPostExtractor,
|
"#class" : danbooru.DanbooruPostExtractor,
|
||||||
"#options" : {"ugoira": True},
|
"#options" : {"ugoira": True},
|
||||||
"#pattern" : r"https?://.+\.zip$",
|
"#urls" : "https://cdn.donmai.us/original/5e/e5/5ee54a2d95ed36376ec1d8f6ddbdece9.zip",
|
||||||
|
|
||||||
|
"_ugoira_original" : False,
|
||||||
|
"_ugoira_frame_data[*]": {
|
||||||
|
"file" : r"re:^0000\d\d\.jpg$",
|
||||||
|
"delay": int,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -241,6 +241,12 @@ class TestExtractorResults(unittest.TestCase):
|
|||||||
if key not in kwdict:
|
if key not in kwdict:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
if key.endswith("[*]"):
|
||||||
|
key = key[:-3]
|
||||||
|
subtest = True
|
||||||
|
else:
|
||||||
|
subtest = False
|
||||||
|
|
||||||
path = "{}.{}".format(parent, key) if parent else key
|
path = "{}.{}".format(parent, key) if parent else key
|
||||||
|
|
||||||
if key.startswith("!"):
|
if key.startswith("!"):
|
||||||
@@ -248,7 +254,15 @@ class TestExtractorResults(unittest.TestCase):
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
self.assertIn(key, kwdict, msg=path)
|
self.assertIn(key, kwdict, msg=path)
|
||||||
self._test_kwdict_value(kwdict[key], test, path)
|
value = kwdict[key]
|
||||||
|
|
||||||
|
if subtest:
|
||||||
|
self.assertNotIsInstance(value, str, msg=path)
|
||||||
|
for idx, item in enumerate(value):
|
||||||
|
subpath = "{}[{}]".format(path, idx)
|
||||||
|
self._test_kwdict_value(item, test, subpath)
|
||||||
|
else:
|
||||||
|
self._test_kwdict_value(value, test, path)
|
||||||
|
|
||||||
def _test_kwdict_value(self, value, test, path):
|
def _test_kwdict_value(self, value, test, path):
|
||||||
if isinstance(test, dict):
|
if isinstance(test, dict):
|
||||||
|
|||||||
Reference in New Issue
Block a user