Merge branch 'main' into fix-1351

This commit is contained in:
Rodrigo Girão Serrão
2022-12-13 16:18:39 +00:00
4 changed files with 40 additions and 2 deletions

View File

@@ -78,6 +78,43 @@ def test_inherited_bindings():
assert list(e._bindings.keys.keys()) == ["e"]
def test_get_default_css():
class A(DOMNode):
pass
class B(A):
pass
class C(B):
DEFAULT_CSS = "C"
class D(C):
pass
class E(D):
DEFAULT_CSS = "E"
node = DOMNode()
node_css = node.get_default_css()
a = A()
a_css = a.get_default_css()
b = B()
b_css = b.get_default_css()
c = C()
c_css = c.get_default_css()
d = D()
d_css = d.get_default_css()
e = E()
e_css = e.get_default_css()
# Descendants that don't assign to DEFAULT_CSS don't add new CSS to the stack.
assert len(node_css) == len(a_css) == len(b_css) == 0
assert len(c_css) == len(d_css) == 1
assert len(e_css) == 2
# Descendants do push the priority of the ancestors' rules down.
assert c_css[0][2] == d_css[0][2] + 1 == 0
# The CSS on the stack is the correct one.
assert e_css[0][1:] == ("E", 0)
assert e_css[1][1:] == ("C", -2)
@pytest.fixture
def search():
"""