"""Test CSS custom proproperties, also known as CSS variables.""" import pytest from weasyprint.css.properties import KNOWN_PROPERTIES from .testing_utils import render_pages as parse SIDES = ('top', 'right', 'bottom', 'left') def test_variable_simple(): page, = parse('''

''') html, = page.children body, = html.children paragraph, = body.children assert paragraph.width == 10 def test_variable_inherit(): page, = parse('''

''') html, = page.children body, = html.children paragraph, = body.children assert paragraph.width == 10 def test_variable_inherit_override(): page, = parse('''

''') html, = page.children body, = html.children paragraph, = body.children assert paragraph.width == 10 def test_variable_case_sensitive(): page, = parse('''

''') html, = page.children body, = html.children paragraph, = body.children assert paragraph.width == 10 def test_variable_chain(): page, = parse('''

''') html, = page.children body, = html.children paragraph, = body.children assert paragraph.width == 10 def test_variable_partial_1(): page, = parse('''
''') html, = page.children body, = html.children div, = body.children assert div.margin_top == 0 assert div.margin_right == 0 assert div.margin_bottom == 0 assert div.margin_left == 10 def test_variable_initial(): page, = parse('''

''') html, = page.children body, = html.children paragraph, = body.children assert paragraph.width == 10 @pytest.mark.parametrize('prop', sorted(KNOWN_PROPERTIES)) def test_variable_fallback(prop): parse('''
''' % prop)