mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
Add combined type CSS parsing tests
This commit is contained in:
@@ -8,7 +8,7 @@ from textual.css.parse import substitute_references
|
|||||||
from textual.css.scalar import Scalar, Unit
|
from textual.css.scalar import Scalar, Unit
|
||||||
from textual.css.stylesheet import Stylesheet, StylesheetParseError
|
from textual.css.stylesheet import Stylesheet, StylesheetParseError
|
||||||
from textual.css.tokenize import tokenize
|
from textual.css.tokenize import tokenize
|
||||||
from textual.css.tokenizer import ReferencedBy, Token
|
from textual.css.tokenizer import ReferencedBy, Token, TokenError
|
||||||
from textual.css.transition import Transition
|
from textual.css.transition import Transition
|
||||||
from textual.geometry import Spacing
|
from textual.geometry import Spacing
|
||||||
from textual.layouts.vertical import VerticalLayout
|
from textual.layouts.vertical import VerticalLayout
|
||||||
@@ -1189,3 +1189,40 @@ class TestParseTextAlign:
|
|||||||
stylesheet = Stylesheet()
|
stylesheet = Stylesheet()
|
||||||
stylesheet.add_source(css)
|
stylesheet.add_source(css)
|
||||||
assert stylesheet.rules[0].styles.text_align == "start"
|
assert stylesheet.rules[0].styles.text_align == "start"
|
||||||
|
|
||||||
|
|
||||||
|
class TestTypeNames:
|
||||||
|
def test_type_no_number(self):
|
||||||
|
stylesheet = Stylesheet()
|
||||||
|
stylesheet.add_source("TestType {}")
|
||||||
|
assert len(stylesheet.rules) == 1
|
||||||
|
|
||||||
|
def test_type_with_number(self):
|
||||||
|
stylesheet = Stylesheet()
|
||||||
|
stylesheet.add_source("TestType1 {}")
|
||||||
|
assert len(stylesheet.rules) == 1
|
||||||
|
|
||||||
|
def test_type_starts_with_number(self):
|
||||||
|
stylesheet = Stylesheet()
|
||||||
|
stylesheet.add_source("1TestType {}")
|
||||||
|
with pytest.raises(TokenError):
|
||||||
|
stylesheet.parse()
|
||||||
|
|
||||||
|
def test_combined_type_no_number(self):
|
||||||
|
for seperator in " >,":
|
||||||
|
stylesheet = Stylesheet()
|
||||||
|
stylesheet.add_source(f"StartType {seperator} TestType {{}}")
|
||||||
|
assert len(stylesheet.rules) == 1
|
||||||
|
|
||||||
|
def test_combined_type_with_number(self):
|
||||||
|
for seperator in " >,":
|
||||||
|
stylesheet = Stylesheet()
|
||||||
|
stylesheet.add_source(f"StartType {seperator} TestType1 {{}}")
|
||||||
|
assert len(stylesheet.rules) == 1
|
||||||
|
|
||||||
|
def test_combined_type_starts_with_number(self):
|
||||||
|
for seperator in " >,":
|
||||||
|
stylesheet = Stylesheet()
|
||||||
|
stylesheet.add_source(f"StartType {seperator} 1TestType {{}}")
|
||||||
|
with pytest.raises(TokenError):
|
||||||
|
stylesheet.parse()
|
||||||
|
|||||||
Reference in New Issue
Block a user