Skip to content

Commit 1b07eb6

Browse files
authored
Fix init_subclass call order (#16)
1 parent 1627740 commit 1b07eb6

File tree

3 files changed

+5
-6
lines changed

3 files changed

+5
-6
lines changed

abcattrs/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
"abstractattrs",
1010
"check_abstract_class_attributes",
1111
)
12-
__version__ = "0.3.1"
12+
__version__ = "0.3.2"

abcattrs/abcattrs.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,7 @@ def _init_subclass(
9090
"""
9191
__init_subclass__ implementation added to classes decorated with @abstractattrs.
9292
"""
93-
if existing_init_subclass is None:
94-
super(cls).__init_subclass__() # type: ignore[misc]
95-
else:
96-
existing_init_subclass(cls, *args, **kwargs)
93+
super(cls).__init_subclass__() # type: ignore[misc]
9794
check_abstract_class_attributes(cls)
95+
if existing_init_subclass is not None:
96+
existing_init_subclass(cls, *args, **kwargs)

tests/test_decorator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ def __init_subclass__(cls, class_arg: str, **kwargs: Any) -> None:
113113
with pytest.raises(UndefinedAbstractAttribute):
114114
type("B", (A,), {}, class_arg="doot")
115115

116-
init_subclass.assert_called_once_with(mock.ANY, class_arg="doot")
116+
init_subclass.assert_not_called()
117117
init_subclass.reset_mock()
118118

119119
class C(A, class_arg="intact"):

0 commit comments

Comments
 (0)