This commit is contained in:
Will McGugan
2023-02-22 15:47:28 +00:00
parent 81e81f4f98
commit 32eb6ee075
2 changed files with 8 additions and 8 deletions

View File

@@ -319,7 +319,7 @@ class DOMNode(MessagePump):
@classmethod
@lru_cache(maxsize=None)
def _get_component_classes(cls) -> Sequence[str]:
def _get_component_classes(cls) -> frozenset[str]:
"""Gets the component classes for this class and inherited from bases.
Component classes are inherited from base classes, unless
@@ -335,7 +335,7 @@ class DOMNode(MessagePump):
if not base.__dict__.get("_inherit_component_classes", True):
break
return sorted(component_classes)
return frozenset(component_classes)
@property
def parent(self) -> DOMNode | None:

View File

@@ -157,13 +157,13 @@ def test_component_classes_inheritance():
f = F()
f_cc = f._get_component_classes()
assert node_cc == set()
assert a_cc == {"a-1", "a-2"}
assert b_cc == {"b-1"}
assert c_cc == {"b-1", "c-1", "c-2"}
assert node_cc == []
assert a_cc == ["a-1", "a-2"]
assert b_cc == ["b-1"]
assert c_cc == ["b-1", "c-1", "c-2"]
assert d_cc == c_cc
assert e_cc == {"b-1", "c-1", "c-2", "e-1"}
assert f_cc == {"f-1"}
assert e_cc == ["b-1", "c-1", "c-2", "e-1"]
assert f_cc == ["f-1"]
@pytest.fixture