projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
2f483bc
)
[test/helper] Add support for maxcount and count collection len test checkers
author
Sergey M․
<dstftw@gmail.com>
Tue, 15 Jan 2019 19:17:49 +0000
(
02:17
+0700)
committer
Sergey M․
<dstftw@gmail.com>
Tue, 15 Jan 2019 19:17:49 +0000
(
02:17
+0700)
test/helper.py
patch
|
blob
|
history
diff --git
a/test/helper.py
b/test/helper.py
index aa9a1c9b2aadcd3a9eaeb1170c2e8d90afabb0b8..e62aab11e777cca955bb8a7a2149d7216430dbca 100644
(file)
--- a/
test/helper.py
+++ b/
test/helper.py
@@
-153,15
+153,27
@@
def expect_value(self, got, expected, field):
isinstance(got, compat_str),
'Expected field %s to be a unicode object, but got value %r of type %r' % (field, got, type(got)))
got = 'md5:' + md5(got)
isinstance(got, compat_str),
'Expected field %s to be a unicode object, but got value %r of type %r' % (field, got, type(got)))
got = 'md5:' + md5(got)
- elif isinstance(expected, compat_str) and
expected.startswith('mincount:'
):
+ elif isinstance(expected, compat_str) and
re.match(r'^(?:min|max)?count:\d+', expected
):
self.assertTrue(
isinstance(got, (list, dict)),
'Expected field %s to be a list or a dict, but it is of type %s' % (
field, type(got).__name__))
self.assertTrue(
isinstance(got, (list, dict)),
'Expected field %s to be a list or a dict, but it is of type %s' % (
field, type(got).__name__))
- expected_num = int(expected.partition(':')[2])
- assertGreaterEqual(
+ op, _, expected_num = expected.partition(':')
+ expected_num = int(expected_num)
+ if op == 'mincount':
+ assert_func = assertGreaterEqual
+ msg_tmpl = 'Expected %d items in field %s, but only got %d'
+ elif op == 'maxcount':
+ assert_func = assertLessEqual
+ msg_tmpl = 'Expected maximum %d items in field %s, but got %d'
+ elif op == 'count':
+ assert_func = assertEqual
+ msg_tmpl = 'Expected exactly %d items in field %s, but got %d'
+ else:
+ assert False
+ assert_func(
self, len(got), expected_num,
self, len(got), expected_num,
-
'Expected %d items in field %s, but only got %d'
% (expected_num, field, len(got)))
+
msg_tmpl
% (expected_num, field, len(got)))
return
self.assertEqual(
expected, got,
return
self.assertEqual(
expected, got,
@@
-237,6
+249,20
@@
def assertGreaterEqual(self, got, expected, msg=None):
self.assertTrue(got >= expected, msg)
self.assertTrue(got >= expected, msg)
+def assertLessEqual(self, got, expected, msg=None):
+ if not (got <= expected):
+ if msg is None:
+ msg = '%r not less than or equal to %r' % (got, expected)
+ self.assertTrue(got <= expected, msg)
+
+
+def assertEqual(self, got, expected, msg=None):
+ if not (got == expected):
+ if msg is None:
+ msg = '%r not equal to %r' % (got, expected)
+ self.assertTrue(got == expected, msg)
+
+
def expect_warnings(ydl, warnings_re):
real_warning = ydl.report_warning
def expect_warnings(ydl, warnings_re):
real_warning = ydl.report_warning