---
source: crates/biome_css_parser/tests/spec_test.rs
expression: snapshot
---
## Input
```css
.action {}
```
## AST
```
CssRoot {
bom_token: missing (optional),
rules: CssRuleList [
CssQualifiedRule {
prelude: CssSelectorList [
CssCompoundSelector {
nesting_selectors: CssNestedSelectorList [],
simple_selector: missing (optional),
sub_selectors: CssSubSelectorList [
CssClassSelector {
dot_token: DOT@0..1 "." [] [],
name: CssCustomIdentifier {
value_token: IDENT@1..8 "action" [] [Whitespace(" ")],
},
},
],
},
],
block: CssDeclarationOrRuleBlock {
l_curly_token: L_CURLY@8..9 "{" [] [],
items: CssDeclarationOrRuleList [],
r_curly_token: R_CURLY@9..10 "}" [] [],
},
},
],
eof_token: EOF@10..11 "" [Newline("\n")] [],
}
```
## CST
```
0: CSS_ROOT@0..11
0: (empty)
1: CSS_RULE_LIST@0..10
0: CSS_QUALIFIED_RULE@0..10
0: CSS_SELECTOR_LIST@0..8
0: CSS_COMPOUND_SELECTOR@0..8
0: CSS_NESTED_SELECTOR_LIST@0..0
1: (empty)
2: CSS_SUB_SELECTOR_LIST@0..8
0: CSS_CLASS_SELECTOR@0..8
0: DOT@0..1 "." [] []
1: CSS_CUSTOM_IDENTIFIER@1..8
0: IDENT@1..8 "action" [] [Whitespace(" ")]
1: CSS_DECLARATION_OR_RULE_BLOCK@8..10
0: L_CURLY@8..9 "{" [] []
1: CSS_DECLARATION_OR_RULE_LIST@9..9
2: R_CURLY@9..10 "}" [] []
2: EOF@10..11 "" [Newline("\n")] []
```