#data
a
#expected
IDENT:a
S
EOF
#reset

#data
Z
#expected
IDENT:Z
S
EOF
#reset

#data
-
#expected
CHAR:-
S
EOF
#reset

#data
_
#expected
IDENT:_
S
EOF
#reset

#data
@
#expected
CHAR:@
S
EOF
#reset

#data
#
#expected
CHAR:#
S
EOF
#reset

#data
0
#expected
NUMBER:0
S
EOF
#reset

#data
0.0
#expected
NUMBER:0.0
S
EOF
#reset

#data
.0
#expected
NUMBER:.0
S
EOF
#reset

#data
10%
#expected
PERCENTAGE:10
S
EOF
#reset

#data
10.5%
#expected
PERCENTAGE:10.5
S
EOF
#reset

#data
.5%
#expected
PERCENTAGE:.5
S
EOF
#reset

#data
50px
#expected
DIMENSION:50px
S
EOF
#reset

#data
50.5px
#expected
DIMENSION:50.5px
S
EOF
#reset

#data
.4px
#expected
DIMENSION:.4px
S
EOF
#reset

#data
url()
#expected
URI:
S
EOF
#reset

#data
url(123456\));
#expected
URI:123456)
CHAR:;
S
EOF
#reset

#data
url("123456)");
#expected
URI:123456)
CHAR:;
S
EOF
#reset

#data
url('123456)');
#expected
URI:123456)
CHAR:;
S
EOF
#reset

#data
U+?
#expected
UNICODE-RANGE:?
S
EOF
#reset

#data
U+?????1
#expected
UNICODE-RANGE:?????1
S
EOF
#reset

#data
U+ffffff-000000
#expected
UNICODE-RANGE:ffffff-000000
S
EOF
#reset

#data
U+02468ac
#expected
UNICODE-RANGE:02468a
IDENT:c
S
EOF
#reset

#data
<
#expected
CHAR:<
S
EOF
#reset

#data
<!
#expected
CHAR:<
CHAR:!
S
EOF
#reset

#data
<!-
#expected
CHAR:<
CHAR:!
CHAR:-
S
EOF
#reset

#data
<!--
#expected
CDO
S
EOF
#reset

#data
--
#expected
CHAR:-
CHAR:-
S
EOF
#reset

#data
-->
#expected
CDC
S
EOF
#reset

#data
    	
#expected
S
EOF
#reset

#data
/* *** / *** */
#expected
S
EOF
#reset

#data
foo(
#expected
FUNCTION:foo
S
EOF
#reset

#data
~=
#expected
INCLUDES
S
EOF
#reset

#data
|=
#expected
DASHMATCH
S
EOF
#reset

#data
^=
#expected
PREFIXMATCH
S
EOF
#reset

#data
$=
#expected
SUFFIXMATCH
S
EOF
#reset

#data
*=
#expected
SUBSTRINGMATCH
S
EOF
#reset

#data
body
#expected
IDENT:body
S
EOF
#reset

#data
@foo
#expected
ATKEYWORD:foo
S
EOF
#reset

#data
#blah
#expected
HASH:blah
S
EOF
#reset

#data
"foo"
#expected
STRING:foo
S
EOF
#reset

#data
'foo'
#expected
STRING:foo
S
EOF
#reset

#data
'foo\''
#expected
STRING:foo'
S
EOF
#reset

#data
'blah \
	xyz'
#expected
STRING:blah \n\txyz
S
EOF
#reset

#data
url(   foo);
#expected
URI:foo
CHAR:;
S
EOF
#reset

#data
url(foo  );
#expected
URI:foo
CHAR:;
S
EOF
#reset

#data
url( "foo" );
#expected
URI:foo
CHAR:;
S
EOF
#reset

#data
@he\llo
#expected
ATKEYWORD:hello
S
EOF
#reset

#data
-foo
#expected
IDENT:-foo
S
EOF
#reset

#data
--x
#expected
CHAR:-
IDENT:-x
S
EOF
#reset

#data
-\x
#expected
IDENT:-x
S
EOF
#reset

#data
/x
#expected
CHAR:/
IDENT:x
S
EOF
#reset

#data
/***** *** /// **
#expected
EOF
#reset

#data
/*		*/
/*
*/
#expected
S
S
EOF
#reset

#data
\moo
#expected
IDENT:moo
S
EOF
#reset

#data
~x
#expected
CHAR:~
IDENT:x
S
EOF
#reset

#data
.
#expected
CHAR:.
S
EOF
#reset

#data
0.5\px
#expected
DIMENSION:0.5px
S
EOF
#reset

#data
@\x
#expected
ATKEYWORD:x
S
EOF
#reset

#data
0.
#expected
NUMBER:0
CHAR:.
S
EOF
#reset

#data
ugh
#expected
IDENT:ugh
S
EOF
#reset

#data
urx
#expected
IDENT:urx
S
EOF
#reset

#data
urlx
#expected
IDENT:urlx
S
EOF
#reset

#data
url(foo
#expected
FUNCTION:url
IDENT:foo
S
EOF
#reset

#data
url(foo x
#expected
FUNCTION:url
IDENT:foo
S
IDENT:x
S
EOF
#reset

#data
U+
#expected
IDENT:U
CHAR:+
S
EOF
#reset

#data
U+0-x
#expected
UNICODE-RANGE:0
IDENT:-x
S
EOF
#reset

#data
"foo'"
#expected
STRING:foo'
S
EOF
#reset

#data
'foo"'
#expected
STRING:foo"
S
EOF
#reset

#data
blah\2022
#expected
IDENT:blah•
EOF
#reset

#data
blah\2022x
#expected
IDENT:blah•x
S
EOF
#reset

#data
blah\2022 f
#expected
IDENT:blah•f
S
EOF
#reset

#data
\123\456
#expected
IDENT:ģі
EOF
#reset

#data
\789\abc
#expected
IDENT:މ઼
EOF
#reset

#data
\000d
#expected
IDENT:\n
EOF
#reset

#data
\d900
#expected
IDENT:�
EOF
#reset

#data
\dd00
#expected
IDENT:�
EOF
#reset

#data
\fffe
#expected
IDENT:�
EOF
#reset
#
#data
\1ffff
#expected
IDENT:�
EOF
#reset

#data
\110000
#expected
IDENT:�
EOF
#reset

#data
tes\
t
#expected
IDENT:tes
CHAR:\\
S
IDENT:t
S
EOF
#reset

#data
"tes\
t"
#expected
STRING:tes\nt
S
EOF
#reset

