mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
Add test for COMPONENT_CLASSES inheritance.
This commit is contained in:
@@ -115,6 +115,53 @@ def test_get_default_css():
|
||||
assert e_css[1][1:] == ("C", -2)
|
||||
|
||||
|
||||
def test_component_classes_inheritance():
|
||||
"""Test if component classes are inherited properly."""
|
||||
|
||||
class A(DOMNode):
|
||||
COMPONENT_CLASSES = {"a-1", "a-2"}
|
||||
|
||||
class B(A):
|
||||
COMPONENT_CLASSES = {"b-1"}
|
||||
_inherit_component_classes = False
|
||||
|
||||
class C(B):
|
||||
COMPONENT_CLASSES = {"c-1", "c-2"}
|
||||
|
||||
class D(C):
|
||||
pass
|
||||
|
||||
class E(D):
|
||||
COMPONENT_CLASSES = {"e-1"}
|
||||
|
||||
class F(E):
|
||||
COMPONENT_CLASSES = {"f-1"}
|
||||
_inherit_component_classes = False
|
||||
|
||||
node = DOMNode()
|
||||
node_cc = node.get_component_classes()
|
||||
a = A()
|
||||
a_cc = a.get_component_classes()
|
||||
b = B()
|
||||
b_cc = b.get_component_classes()
|
||||
c = C()
|
||||
c_cc = c.get_component_classes()
|
||||
d = D()
|
||||
d_cc = d.get_component_classes()
|
||||
e = E()
|
||||
e_cc = e.get_component_classes()
|
||||
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 d_cc == c_cc
|
||||
assert e_cc == {"b-1", "c-1", "c-2", "e-1"}
|
||||
assert f_cc == {"f-1"}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def search():
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user