We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 117bfd2 commit 5010c04Copy full SHA for 5010c04
Lib/test/test_abc.py
@@ -459,6 +459,24 @@ class S(metaclass=abc_ABCMeta):
459
with self.assertRaisesRegex(Exception, exc_msg):
460
issubclass(int, S)
461
462
+ def test_subclasshook(self):
463
+ class A(metaclass=abc.ABCMeta):
464
+ @classmethod
465
+ def __subclasshook__(cls, C):
466
+ if cls is A:
467
+ return 'foo' in C.__dict__
468
+ return NotImplemented
469
+ self.assertFalse(issubclass(A, A))
470
+ self.assertFalse(issubclass(A, (A,)))
471
+ class B:
472
+ foo = 42
473
+ self.assertTrue(issubclass(B, A))
474
+ self.assertTrue(issubclass(B, (A,)))
475
+ class C:
476
+ spam = 42
477
+ self.assertFalse(issubclass(C, A))
478
+ self.assertFalse(issubclass(C, (A,)))
479
+
480
def test_all_new_methods_are_called(self):
481
class A(metaclass=abc_ABCMeta):
482
pass
0 commit comments