diff --git a/Lib/test/test_genericclass.py b/Lib/test/test_genericclass.py index 27420d4f2b..aa843f6d9f 100644 --- a/Lib/test/test_genericclass.py +++ b/Lib/test/test_genericclass.py @@ -220,28 +220,38 @@ def __class_getitem__(cls): return None with self.assertRaises(TypeError): C_too_few[int] + class C_too_many: def __class_getitem__(cls, one, two): return None with self.assertRaises(TypeError): C_too_many[int] + # TODO: RUSTPYTHON + @unittest.expectedFailure def test_class_getitem_errors_2(self): class C: def __class_getitem__(cls, item): return None with self.assertRaises(TypeError): C()[int] + class E: ... e = E() e.__class_getitem__ = lambda cls, item: 'This will not work' with self.assertRaises(TypeError): e[int] + class C_not_callable: __class_getitem__ = "Surprise!" with self.assertRaises(TypeError): C_not_callable[int] + class C_is_none(tuple): + __class_getitem__ = None + with self.assertRaisesRegex(TypeError, "C_is_none"): + C_is_none[int] + def test_class_getitem_metaclass(self): class Meta(type): def __class_getitem__(cls, item):