[tests] implement explicit type checks for 'len:'

for example 'len:dict:3' to check for a dict with 3 items
This commit is contained in:
Mike Fährmann
2025-04-28 16:26:33 +02:00
parent 0725eab34f
commit f6330bf16d

View File

@@ -272,8 +272,11 @@ class TestExtractorResults(unittest.TestCase):
elif test.startswith("type:"):
self.assertEqual(test[5:], type(value).__name__, msg=path)
elif test.startswith("len:"):
self.assertIsInstance(value, (list, tuple), msg=path)
self.assertEqual(int(test[4:]), len(value), msg=path)
cls, _, length = test[4:].rpartition(":")
if cls:
self.assertEqual(
cls, type(value).__name__, msg=path + "/type")
self.assertEqual(int(length), len(value), msg=path)
else:
self.assertEqual(test, value, msg=path)
else: