Skip to content

Commit 5010c04

Browse files
authored
bpo-25479: add unit test for __subclasshook__ in test_abc.py (GH-24034)
Co-authored-by: Szymon Trapp
1 parent 117bfd2 commit 5010c04

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

Lib/test/test_abc.py

+18
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,24 @@ class S(metaclass=abc_ABCMeta):
459459
with self.assertRaisesRegex(Exception, exc_msg):
460460
issubclass(int, S)
461461

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+
462480
def test_all_new_methods_are_called(self):
463481
class A(metaclass=abc_ABCMeta):
464482
pass

0 commit comments

Comments
 (0)