def test_config_multi_validation(): with pytest.raises(ValidationError, match="can't have multiple sources with multi=True"): config.TextFieldConfig(multi=True, source=["x", "y"], format="x", x=0, y=0) with pytest.raises(ValidationError, match="can't have multiple defaults with multi=True"): config.TextFieldConfig(multi=True, source="x", default={ "x": 1, "y": 2 }, x=0, y=0)
def test_textfield_padding_from_int(): tfc = config.TextFieldConfig(x=0, y=0, source="x", padding=4) assert (tfc.padding.left == tfc.padding.right == tfc.padding.top == tfc.padding.bottom == 4)
def test_parser_multiple_sources(): config.TextFieldConfig(source=["x", "y"], parse={"x": "datetime"}, format="{x}", x=0, y=0)
def test_config_multi(): config.TextFieldConfig(multi=True, source="tags", x=0, y=0) config.TextFieldConfig(multi=False, source="tags", x=0, y=0)
def test_multiple_sources_requires_format(): with pytest.raises(ValidationError, match="can't have multiple sources"): config.TextFieldConfig(source=["x", "y"], x=0, y=0)
def test_padding_config_assignment(): t = config.TextFieldConfig(source="x", x=0, y=0) t.padding = 4 assert t.padding.left == t.padding.right == t.padding.top == t.padding.bottom == 4