mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
import pytest
|
|
from rich.style import Style
|
|
|
|
from textual.color import Color
|
|
from textual.css.errors import StyleValueError
|
|
from textual.css.styles import Styles
|
|
|
|
|
|
def test_box_normalization():
|
|
"""Check that none or hidden is normalized to empty string."""
|
|
styles = Styles()
|
|
styles.border_left = ("none", "red")
|
|
assert styles.border_left == ("", Color.parse("red"))
|
|
|
|
|
|
@pytest.mark.parametrize("style_attr", ["text_style", "link_style"])
|
|
def test_text_style_none_with_others(style_attr):
|
|
"""Style "none" mixed with others should give custom Textual exception."""
|
|
styles = Styles()
|
|
|
|
with pytest.raises(StyleValueError):
|
|
setattr(styles, style_attr, "bold none underline italic")
|
|
|
|
|
|
@pytest.mark.parametrize("style_attr", ["text_style", "link_style"])
|
|
def test_text_style_set_to_none(style_attr):
|
|
"""Setting text style to "none" should clear the styles."""
|
|
styles = Styles()
|
|
setattr(styles, style_attr, "bold underline italic")
|
|
assert getattr(styles, style_attr) != Style.null()
|
|
setattr(styles, style_attr, "none")
|
|
assert getattr(styles, style_attr) == Style.null()
|