X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=test%2Fhelper.py;h=230d2bd67ab06b4db552bff30c5620f83673ca93;hb=948bcc60df48415ddbf3d7ea03bc3af53a9d928d;hp=09873aea33c3815dcd56e8acf992156dbbb5974e;hpb=52fadd5fb2ea5d7e7cd6000203aa7ef886ffad07;p=youtube-dl diff --git a/test/helper.py b/test/helper.py index 09873aea3..230d2bd67 100644 --- a/test/helper.py +++ b/test/helper.py @@ -85,7 +85,7 @@ def gettestcases(include_onlymatching=False): else: tests = getattr(ie, '_TESTS', []) for t in tests: - if not include_onlymatching and getattr(t, 'only_matching', False): + if not include_onlymatching and t.get('only_matching', False): continue t['name'] = type(ie).__name__[:-len('IE')] yield t @@ -107,7 +107,7 @@ def expect_info_dict(self, expected_dict, got_dict): elif isinstance(expected, type): got = got_dict.get(info_field) self.assertTrue(isinstance(got, expected), - u'Expected type %r, but got value %r of type %r' % (expected, got, type(got))) + u'Expected type %r for field %s, but got value %r of type %r' % (expected, info_field, got, type(got))) else: if isinstance(expected, compat_str) and expected.startswith('md5:'): got = 'md5:' + md5(got_dict.get(info_field)) @@ -134,3 +134,17 @@ def expect_info_dict(self, expected_dict, got_dict): missing_keys, 'Missing keys in test definition: %s' % ( ', '.join(sorted(missing_keys)))) + + +def assertRegexpMatches(self, text, regexp, msg=None): + if hasattr(self, 'assertRegexpMatches'): + return self.assertRegexpMatches(text, regexp, msg) + else: + m = re.match(regexp, text) + if not m: + note = 'Regexp didn\'t match: %r not found in %r' % (regexp, text) + if msg is None: + msg = note + else: + msg = note + ', ' + msg + self.assertTrue(m, msg)