Add test for when opacity value is invalid

This commit is contained in:
Darren Burns
2022-02-11 12:13:12 +00:00
parent 0187bec7f4
commit 281748ba61
2 changed files with 8 additions and 1 deletions

View File

@@ -814,7 +814,7 @@ class FractionalProperty:
if isinstance(value, float): if isinstance(value, float):
float_value = value float_value = value
elif isinstance(value, str): elif isinstance(value, str) and value.endswith("%"):
float_value = float(Scalar.parse(value).value) / 100 float_value = float(Scalar.parse(value).value) / 100
else: else:
raise StyleTypeError( raise StyleTypeError(

View File

@@ -2,6 +2,7 @@ import pytest
from rich.color import Color from rich.color import Color
from rich.style import Style from rich.style import Style
from textual.css.errors import StyleTypeError
from textual.css.styles import Styles, RenderStyles from textual.css.styles import Styles, RenderStyles
from textual.dom import DOMNode from textual.dom import DOMNode
@@ -147,3 +148,9 @@ def test_opacity_set_then_get(set_value, expected):
styles = RenderStyles(DOMNode(), Styles(), Styles()) styles = RenderStyles(DOMNode(), Styles(), Styles())
styles.opacity = set_value styles.opacity = set_value
assert styles.opacity == expected assert styles.opacity == expected
def test_opacity_set_invalid_type_error():
styles = RenderStyles(DOMNode(), Styles(), Styles())
with pytest.raises(StyleTypeError):
styles.opacity = "invalid value"