Thanks to visit codestin.com Credit goes to github.com
We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 117bfd2 commit 5010c04Copy full SHA for 5010c04
1 file changed
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