summaryrefslogtreecommitdiffstats
path: root/test/test_results.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_results.py')
-rw-r--r--test/test_results.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/test/test_results.py b/test/test_results.py
index 28db6c3..6e04e1d 100644
--- a/test/test_results.py
+++ b/test/test_results.py
@@ -239,7 +239,11 @@ class TestExtractorResults(unittest.TestCase):
key = key[1:]
if key not in kwdict:
continue
+
path = "{}.{}".format(parent, key) if parent else key
+ if key.startswith("!"):
+ self.assertNotIn(key[1:], kwdict, msg=path)
+ continue
self.assertIn(key, kwdict, msg=path)
value = kwdict[key]
@@ -272,8 +276,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: