test(css/parser): Combinators (#2359)

This commit is contained in:
Alexander Akait 2021-10-06 18:32:31 +03:00 committed by GitHub
parent 3714802bd3
commit f0be833f14
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 1401 additions and 0 deletions

View File

@ -0,0 +1,9 @@
article p {}
article p {}
article > p {}
article > p {}
p + img {}
p + img {}
p ~ img {}
p ~ img {}
article > p > a {}

View File

@ -0,0 +1,822 @@
{
"type": "Stylesheet",
"span": {
"start": 0,
"end": 142,
"ctxt": 0
},
"rules": [
{
"type": "StyleRule",
"span": {
"start": 0,
"end": 12,
"ctxt": 0
},
"selectors": [
{
"type": "ComplexSelector",
"span": {
"start": 0,
"end": 9,
"ctxt": 0
},
"selectors": [
{
"type": "CompoundSelector",
"span": {
"start": 0,
"end": 7,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": null,
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 0,
"end": 7,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 0,
"end": 7,
"ctxt": 0
},
"value": "article"
}
},
"subclassSelectors": []
},
{
"type": "CompoundSelector",
"span": {
"start": 8,
"end": 9,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": null,
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 8,
"end": 9,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 8,
"end": 9,
"ctxt": 0
},
"value": "p"
}
},
"subclassSelectors": []
}
]
}
],
"block": {
"type": "DeclBlock",
"span": {
"start": 10,
"end": 12,
"ctxt": 0
},
"items": []
}
},
{
"type": "StyleRule",
"span": {
"start": 13,
"end": 29,
"ctxt": 0
},
"selectors": [
{
"type": "ComplexSelector",
"span": {
"start": 13,
"end": 24,
"ctxt": 0
},
"selectors": [
{
"type": "CompoundSelector",
"span": {
"start": 13,
"end": 20,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": null,
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 13,
"end": 20,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 13,
"end": 20,
"ctxt": 0
},
"value": "article"
}
},
"subclassSelectors": []
},
{
"type": "CompoundSelector",
"span": {
"start": 23,
"end": 24,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": null,
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 23,
"end": 24,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 23,
"end": 24,
"ctxt": 0
},
"value": "p"
}
},
"subclassSelectors": []
}
]
}
],
"block": {
"type": "DeclBlock",
"span": {
"start": 27,
"end": 29,
"ctxt": 0
},
"items": []
}
},
{
"type": "StyleRule",
"span": {
"start": 30,
"end": 44,
"ctxt": 0
},
"selectors": [
{
"type": "ComplexSelector",
"span": {
"start": 30,
"end": 41,
"ctxt": 0
},
"selectors": [
{
"type": "CompoundSelector",
"span": {
"start": 30,
"end": 37,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": null,
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 30,
"end": 37,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 30,
"end": 37,
"ctxt": 0
},
"value": "article"
}
},
"subclassSelectors": []
},
{
"type": "CompoundSelector",
"span": {
"start": 40,
"end": 41,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": ">",
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 40,
"end": 41,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 40,
"end": 41,
"ctxt": 0
},
"value": "p"
}
},
"subclassSelectors": []
}
]
}
],
"block": {
"type": "DeclBlock",
"span": {
"start": 42,
"end": 44,
"ctxt": 0
},
"items": []
}
},
{
"type": "StyleRule",
"span": {
"start": 45,
"end": 68,
"ctxt": 0
},
"selectors": [
{
"type": "ComplexSelector",
"span": {
"start": 45,
"end": 62,
"ctxt": 0
},
"selectors": [
{
"type": "CompoundSelector",
"span": {
"start": 45,
"end": 52,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": null,
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 45,
"end": 52,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 45,
"end": 52,
"ctxt": 0
},
"value": "article"
}
},
"subclassSelectors": []
},
{
"type": "CompoundSelector",
"span": {
"start": 61,
"end": 62,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": ">",
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 61,
"end": 62,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 61,
"end": 62,
"ctxt": 0
},
"value": "p"
}
},
"subclassSelectors": []
}
]
}
],
"block": {
"type": "DeclBlock",
"span": {
"start": 66,
"end": 68,
"ctxt": 0
},
"items": []
}
},
{
"type": "StyleRule",
"span": {
"start": 69,
"end": 79,
"ctxt": 0
},
"selectors": [
{
"type": "ComplexSelector",
"span": {
"start": 69,
"end": 76,
"ctxt": 0
},
"selectors": [
{
"type": "CompoundSelector",
"span": {
"start": 69,
"end": 70,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": null,
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 69,
"end": 70,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 69,
"end": 70,
"ctxt": 0
},
"value": "p"
}
},
"subclassSelectors": []
},
{
"type": "CompoundSelector",
"span": {
"start": 73,
"end": 76,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": "+",
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 73,
"end": 76,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 73,
"end": 76,
"ctxt": 0
},
"value": "img"
}
},
"subclassSelectors": []
}
]
}
],
"block": {
"type": "DeclBlock",
"span": {
"start": 77,
"end": 79,
"ctxt": 0
},
"items": []
}
},
{
"type": "StyleRule",
"span": {
"start": 80,
"end": 94,
"ctxt": 0
},
"selectors": [
{
"type": "ComplexSelector",
"span": {
"start": 80,
"end": 91,
"ctxt": 0
},
"selectors": [
{
"type": "CompoundSelector",
"span": {
"start": 80,
"end": 81,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": null,
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 80,
"end": 81,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 80,
"end": 81,
"ctxt": 0
},
"value": "p"
}
},
"subclassSelectors": []
},
{
"type": "CompoundSelector",
"span": {
"start": 88,
"end": 91,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": "+",
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 88,
"end": 91,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 88,
"end": 91,
"ctxt": 0
},
"value": "img"
}
},
"subclassSelectors": []
}
]
}
],
"block": {
"type": "DeclBlock",
"span": {
"start": 92,
"end": 94,
"ctxt": 0
},
"items": []
}
},
{
"type": "StyleRule",
"span": {
"start": 95,
"end": 105,
"ctxt": 0
},
"selectors": [
{
"type": "ComplexSelector",
"span": {
"start": 95,
"end": 102,
"ctxt": 0
},
"selectors": [
{
"type": "CompoundSelector",
"span": {
"start": 95,
"end": 96,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": null,
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 95,
"end": 96,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 95,
"end": 96,
"ctxt": 0
},
"value": "p"
}
},
"subclassSelectors": []
},
{
"type": "CompoundSelector",
"span": {
"start": 99,
"end": 102,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": "~",
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 99,
"end": 102,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 99,
"end": 102,
"ctxt": 0
},
"value": "img"
}
},
"subclassSelectors": []
}
]
}
],
"block": {
"type": "DeclBlock",
"span": {
"start": 103,
"end": 105,
"ctxt": 0
},
"items": []
}
},
{
"type": "StyleRule",
"span": {
"start": 106,
"end": 122,
"ctxt": 0
},
"selectors": [
{
"type": "ComplexSelector",
"span": {
"start": 106,
"end": 119,
"ctxt": 0
},
"selectors": [
{
"type": "CompoundSelector",
"span": {
"start": 106,
"end": 107,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": null,
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 106,
"end": 107,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 106,
"end": 107,
"ctxt": 0
},
"value": "p"
}
},
"subclassSelectors": []
},
{
"type": "CompoundSelector",
"span": {
"start": 116,
"end": 119,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": "~",
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 116,
"end": 119,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 116,
"end": 119,
"ctxt": 0
},
"value": "img"
}
},
"subclassSelectors": []
}
]
}
],
"block": {
"type": "DeclBlock",
"span": {
"start": 120,
"end": 122,
"ctxt": 0
},
"items": []
}
},
{
"type": "StyleRule",
"span": {
"start": 123,
"end": 141,
"ctxt": 0
},
"selectors": [
{
"type": "ComplexSelector",
"span": {
"start": 123,
"end": 138,
"ctxt": 0
},
"selectors": [
{
"type": "CompoundSelector",
"span": {
"start": 123,
"end": 130,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": null,
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 123,
"end": 130,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 123,
"end": 130,
"ctxt": 0
},
"value": "article"
}
},
"subclassSelectors": []
},
{
"type": "CompoundSelector",
"span": {
"start": 133,
"end": 134,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": ">",
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 133,
"end": 134,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 133,
"end": 134,
"ctxt": 0
},
"value": "p"
}
},
"subclassSelectors": []
},
{
"type": "CompoundSelector",
"span": {
"start": 137,
"end": 138,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": ">",
"typeSelector": {
"type": "NamespacedName",
"span": {
"start": 137,
"end": 138,
"ctxt": 0
},
"prefix": null,
"name": {
"type": "Text",
"span": {
"start": 137,
"end": 138,
"ctxt": 0
},
"value": "a"
}
},
"subclassSelectors": []
}
]
}
],
"block": {
"type": "DeclBlock",
"span": {
"start": 139,
"end": 141,
"ctxt": 0
},
"items": []
}
}
]
}

View File

@ -0,0 +1,570 @@
error: Stylesheet
--> $DIR/tests/fixture/selector/combinators/input.css:1:1
|
1 | / article p {}
2 | | article p {}
3 | | article > p {}
4 | | article > p {}
... |
8 | | p ~ img {}
9 | | article > p > a {}
| |___________________^
error: Rule
--> $DIR/tests/fixture/selector/combinators/input.css:1:1
|
1 | article p {}
| ^^^^^^^^^^^^
error: StyleRule
--> $DIR/tests/fixture/selector/combinators/input.css:1:1
|
1 | article p {}
| ^^^^^^^^^^^^
error: ComplexSelector
--> $DIR/tests/fixture/selector/combinators/input.css:1:1
|
1 | article p {}
| ^^^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:1:1
|
1 | article p {}
| ^^^^^^^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:1:1
|
1 | article p {}
| ^^^^^^^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:1:1
|
1 | article p {}
| ^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:1:9
|
1 | article p {}
| ^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:1:9
|
1 | article p {}
| ^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:1:9
|
1 | article p {}
| ^
error: DeclBlock
--> $DIR/tests/fixture/selector/combinators/input.css:1:11
|
1 | article p {}
| ^^
error: Rule
--> $DIR/tests/fixture/selector/combinators/input.css:2:1
|
2 | article p {}
| ^^^^^^^^^^^^^^^^
error: StyleRule
--> $DIR/tests/fixture/selector/combinators/input.css:2:1
|
2 | article p {}
| ^^^^^^^^^^^^^^^^
error: ComplexSelector
--> $DIR/tests/fixture/selector/combinators/input.css:2:1
|
2 | article p {}
| ^^^^^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:2:1
|
2 | article p {}
| ^^^^^^^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:2:1
|
2 | article p {}
| ^^^^^^^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:2:1
|
2 | article p {}
| ^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:2:11
|
2 | article p {}
| ^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:2:11
|
2 | article p {}
| ^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:2:11
|
2 | article p {}
| ^
error: DeclBlock
--> $DIR/tests/fixture/selector/combinators/input.css:2:15
|
2 | article p {}
| ^^
error: Rule
--> $DIR/tests/fixture/selector/combinators/input.css:3:1
|
3 | article > p {}
| ^^^^^^^^^^^^^^
error: StyleRule
--> $DIR/tests/fixture/selector/combinators/input.css:3:1
|
3 | article > p {}
| ^^^^^^^^^^^^^^
error: ComplexSelector
--> $DIR/tests/fixture/selector/combinators/input.css:3:1
|
3 | article > p {}
| ^^^^^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:3:1
|
3 | article > p {}
| ^^^^^^^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:3:1
|
3 | article > p {}
| ^^^^^^^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:3:1
|
3 | article > p {}
| ^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:3:11
|
3 | article > p {}
| ^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:3:11
|
3 | article > p {}
| ^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:3:11
|
3 | article > p {}
| ^
error: DeclBlock
--> $DIR/tests/fixture/selector/combinators/input.css:3:13
|
3 | article > p {}
| ^^
error: Rule
--> $DIR/tests/fixture/selector/combinators/input.css:4:1
|
4 | article > p {}
| ^^^^^^^^^^^^^^^^^^^^^^^
error: StyleRule
--> $DIR/tests/fixture/selector/combinators/input.css:4:1
|
4 | article > p {}
| ^^^^^^^^^^^^^^^^^^^^^^^
error: ComplexSelector
--> $DIR/tests/fixture/selector/combinators/input.css:4:1
|
4 | article > p {}
| ^^^^^^^^^^^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:4:1
|
4 | article > p {}
| ^^^^^^^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:4:1
|
4 | article > p {}
| ^^^^^^^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:4:1
|
4 | article > p {}
| ^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:4:17
|
4 | article > p {}
| ^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:4:17
|
4 | article > p {}
| ^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:4:17
|
4 | article > p {}
| ^
error: DeclBlock
--> $DIR/tests/fixture/selector/combinators/input.css:4:22
|
4 | article > p {}
| ^^
error: Rule
--> $DIR/tests/fixture/selector/combinators/input.css:5:1
|
5 | p + img {}
| ^^^^^^^^^^
error: StyleRule
--> $DIR/tests/fixture/selector/combinators/input.css:5:1
|
5 | p + img {}
| ^^^^^^^^^^
error: ComplexSelector
--> $DIR/tests/fixture/selector/combinators/input.css:5:1
|
5 | p + img {}
| ^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:5:1
|
5 | p + img {}
| ^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:5:1
|
5 | p + img {}
| ^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:5:1
|
5 | p + img {}
| ^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:5:5
|
5 | p + img {}
| ^^^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:5:5
|
5 | p + img {}
| ^^^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:5:5
|
5 | p + img {}
| ^^^
error: DeclBlock
--> $DIR/tests/fixture/selector/combinators/input.css:5:9
|
5 | p + img {}
| ^^
error: Rule
--> $DIR/tests/fixture/selector/combinators/input.css:6:1
|
6 | p + img {}
| ^^^^^^^^^^^^^^
error: StyleRule
--> $DIR/tests/fixture/selector/combinators/input.css:6:1
|
6 | p + img {}
| ^^^^^^^^^^^^^^
error: ComplexSelector
--> $DIR/tests/fixture/selector/combinators/input.css:6:1
|
6 | p + img {}
| ^^^^^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:6:1
|
6 | p + img {}
| ^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:6:1
|
6 | p + img {}
| ^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:6:1
|
6 | p + img {}
| ^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:6:9
|
6 | p + img {}
| ^^^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:6:9
|
6 | p + img {}
| ^^^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:6:9
|
6 | p + img {}
| ^^^
error: DeclBlock
--> $DIR/tests/fixture/selector/combinators/input.css:6:13
|
6 | p + img {}
| ^^
error: Rule
--> $DIR/tests/fixture/selector/combinators/input.css:7:1
|
7 | p ~ img {}
| ^^^^^^^^^^
error: StyleRule
--> $DIR/tests/fixture/selector/combinators/input.css:7:1
|
7 | p ~ img {}
| ^^^^^^^^^^
error: ComplexSelector
--> $DIR/tests/fixture/selector/combinators/input.css:7:1
|
7 | p ~ img {}
| ^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:7:1
|
7 | p ~ img {}
| ^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:7:1
|
7 | p ~ img {}
| ^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:7:1
|
7 | p ~ img {}
| ^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:7:5
|
7 | p ~ img {}
| ^^^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:7:5
|
7 | p ~ img {}
| ^^^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:7:5
|
7 | p ~ img {}
| ^^^
error: DeclBlock
--> $DIR/tests/fixture/selector/combinators/input.css:7:9
|
7 | p ~ img {}
| ^^
error: Rule
--> $DIR/tests/fixture/selector/combinators/input.css:8:1
|
8 | p ~ img {}
| ^^^^^^^^^^^^^^^^
error: StyleRule
--> $DIR/tests/fixture/selector/combinators/input.css:8:1
|
8 | p ~ img {}
| ^^^^^^^^^^^^^^^^
error: ComplexSelector
--> $DIR/tests/fixture/selector/combinators/input.css:8:1
|
8 | p ~ img {}
| ^^^^^^^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:8:1
|
8 | p ~ img {}
| ^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:8:1
|
8 | p ~ img {}
| ^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:8:1
|
8 | p ~ img {}
| ^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:8:11
|
8 | p ~ img {}
| ^^^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:8:11
|
8 | p ~ img {}
| ^^^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:8:11
|
8 | p ~ img {}
| ^^^
error: DeclBlock
--> $DIR/tests/fixture/selector/combinators/input.css:8:15
|
8 | p ~ img {}
| ^^
error: Rule
--> $DIR/tests/fixture/selector/combinators/input.css:9:1
|
9 | article > p > a {}
| ^^^^^^^^^^^^^^^^^^
error: StyleRule
--> $DIR/tests/fixture/selector/combinators/input.css:9:1
|
9 | article > p > a {}
| ^^^^^^^^^^^^^^^^^^
error: ComplexSelector
--> $DIR/tests/fixture/selector/combinators/input.css:9:1
|
9 | article > p > a {}
| ^^^^^^^^^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:9:1
|
9 | article > p > a {}
| ^^^^^^^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:9:1
|
9 | article > p > a {}
| ^^^^^^^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:9:1
|
9 | article > p > a {}
| ^^^^^^^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:9:11
|
9 | article > p > a {}
| ^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:9:11
|
9 | article > p > a {}
| ^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:9:11
|
9 | article > p > a {}
| ^
error: CompoundSelector
--> $DIR/tests/fixture/selector/combinators/input.css:9:15
|
9 | article > p > a {}
| ^
error: NamespacedName
--> $DIR/tests/fixture/selector/combinators/input.css:9:15
|
9 | article > p > a {}
| ^
error: Text
--> $DIR/tests/fixture/selector/combinators/input.css:9:15
|
9 | article > p > a {}
| ^
error: DeclBlock
--> $DIR/tests/fixture/selector/combinators/input.css:9:17
|
9 | article > p > a {}
| ^^