mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[test/helper] Add support for maxcount and count collection len test checkers
This commit is contained in:
		| @@ -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) | ||||
|         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__)) | ||||
|             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, | ||||
|                 '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, | ||||
| @@ -237,6 +249,20 @@ def assertGreaterEqual(self, got, expected, msg=None): | ||||
|         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 | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․