|
|
|
@ -14,6 +14,7 @@ from youtube_dl import YoutubeDL
|
|
|
|
|
from youtube_dl.utils import (
|
|
|
|
|
compat_str,
|
|
|
|
|
preferredencoding,
|
|
|
|
|
write_string,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -136,7 +137,15 @@ def expect_info_dict(self, expected_dict, got_dict):
|
|
|
|
|
if value and key in ('title', 'description', 'uploader', 'upload_date', 'timestamp', 'uploader_id', 'location'))
|
|
|
|
|
missing_keys = set(test_info_dict.keys()) - set(expected_dict.keys())
|
|
|
|
|
if missing_keys:
|
|
|
|
|
sys.stderr.write('\n"info_dict": ' + json.dumps(test_info_dict, ensure_ascii=False, indent=4) + '\n')
|
|
|
|
|
def _repr(v):
|
|
|
|
|
if isinstance(v, compat_str):
|
|
|
|
|
return "'%s'" % v.replace('\\', '\\\\').replace("'", "\\'")
|
|
|
|
|
else:
|
|
|
|
|
return repr(v)
|
|
|
|
|
info_dict_str = ''.join(
|
|
|
|
|
' %s: %s,\n' % (_repr(k), _repr(v))
|
|
|
|
|
for k, v in test_info_dict.items())
|
|
|
|
|
write_string('\n"info_dict": {' + info_dict_str + '}\n', out=sys.stderr)
|
|
|
|
|
self.assertFalse(
|
|
|
|
|
missing_keys,
|
|
|
|
|
'Missing keys in test definition: %s' % (
|
|
|
|
|