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):
float_value = value
elif isinstance(value, str):
elif isinstance(value, str) and value.endswith("%"):
float_value = float(Scalar.parse(value).value) / 100
else:
raise StyleTypeError(

View File

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