Reorganize tests into a real spec suite

This commit is contained in:
2024-08-04 19:18:43 -03:00
parent 57c160173c
commit e7c2053222
693 changed files with 136 additions and 116 deletions

View File

@ -0,0 +1,43 @@
---input---
(define* (foo #:key (bar123? 'baz))
(display bar123?)
(newline))
(foo #:bar123? 'xyz)
---tokens---
'(' Punctuation
'define*' Keyword
' ' Text.Whitespace
'(' Punctuation
'foo' Name.Function
' ' Text.Whitespace
'#:key' Keyword.Declaration
' ' Text.Whitespace
'(' Punctuation
'bar123?' Name.Function
' ' Text.Whitespace
"'baz" Literal.String.Symbol
')' Punctuation
')' Punctuation
'\n ' Text.Whitespace
'(' Punctuation
'display' Name.Builtin
' ' Text.Whitespace
'bar123?' Name.Variable
')' Punctuation
'\n ' Text.Whitespace
'(' Punctuation
'newline' Name.Builtin
')' Punctuation
')' Punctuation
'\n\n' Text.Whitespace
'(' Punctuation
'foo' Name.Function
' ' Text.Whitespace
'#:bar123?' Keyword.Declaration
' ' Text.Whitespace
"'xyz" Literal.String.Symbol
')' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,169 @@
---input---
;; All sorts of numbers, common and less common.
0
142
-142
+142
-0.5
+0.5
-0.5e-10
+0.5e10
0.5e+10
.5F+10
.123
123.
123.L-25|54
+inf.0
-inf.0
#b+nan.0-inf.0i
1-2i
1-i
+i
-5f24@3.14159
4/5
5.4e5@4
#i5
#o5
#i#o5
#o#i5
#b01/10
#x0f42a
#E#b01/10
#d#I01/10
#i-324@3.14159
#o#I01/1022-inf.0i
;; These are not numbers but plain symbols.
1+
1-
i
inf
-inf
nan
-nan
---tokens---
';; All sorts of numbers, common and less common.' Comment.Single
'\n\n' Text.Whitespace
'0' Literal.Number.Integer
'\n' Text.Whitespace
'142' Literal.Number.Integer
'\n' Text.Whitespace
'-142' Literal.Number.Integer
'\n' Text.Whitespace
'+142' Literal.Number.Integer
'\n' Text.Whitespace
'-0.5' Literal.Number.Float
'\n' Text.Whitespace
'+0.5' Literal.Number.Float
'\n' Text.Whitespace
'-0.5e-10' Literal.Number.Float
'\n' Text.Whitespace
'+0.5e10' Literal.Number.Float
'\n' Text.Whitespace
'0.5e+10' Literal.Number.Float
'\n' Text.Whitespace
'.5F+10' Literal.Number.Float
'\n' Text.Whitespace
'.123' Literal.Number.Float
'\n' Text.Whitespace
'123.' Literal.Number.Float
'\n' Text.Whitespace
'123.L-25|54' Literal.Number.Float
'\n' Text.Whitespace
'+inf.0' Literal.Number.Float
'\n' Text.Whitespace
'-inf.0' Literal.Number.Float
'\n' Text.Whitespace
'#b+nan.0-inf.0i' Literal.Number.Bin
'\n' Text.Whitespace
'1-2i' Literal.Number.Integer
'\n' Text.Whitespace
'1-i' Literal.Number.Integer
'\n' Text.Whitespace
'+i' Literal.Number.Integer
'\n' Text.Whitespace
'-5f24@3.14159' Literal.Number.Float
'\n' Text.Whitespace
'4/5' Literal.Number.Integer
'\n' Text.Whitespace
'5.4e5@4' Literal.Number.Float
'\n' Text.Whitespace
'#i5' Literal.Number.Integer
'\n' Text.Whitespace
'#o5' Literal.Number.Oct
'\n' Text.Whitespace
'#i#o5' Literal.Number.Oct
'\n' Text.Whitespace
'#o#i5' Literal.Number.Oct
'\n' Text.Whitespace
'#b01/10' Literal.Number.Bin
'\n' Text.Whitespace
'#x0f42a' Literal.Number.Hex
'\n' Text.Whitespace
'#E#b01/10' Literal.Number.Bin
'\n' Text.Whitespace
'#d#I01/10' Literal.Number.Integer
'\n' Text.Whitespace
'#i-324@3.14159' Literal.Number.Float
'\n' Text.Whitespace
'#o#I01/1022-inf.0i' Literal.Number.Oct
'\n\n' Text.Whitespace
';; These are not numbers but plain symbols.' Comment.Single
'\n\n' Text.Whitespace
'1+' Name.Builtin
'\n' Text.Whitespace
'1-' Name.Builtin
'\n' Text.Whitespace
'i' Name.Variable
'\n' Text.Whitespace
'inf' Name.Builtin
'\n' Text.Whitespace
'-inf' Name.Variable
'\n' Text.Whitespace
'nan' Name.Builtin
'\n' Text.Whitespace
'-nan' Name.Variable
'\n' Text.Whitespace

View File

@ -0,0 +1,85 @@
---input---
;; Test string escapes
"basic string"
"Strings can
span several
lines.
"
"Escapes:
\"
\\
\|
\a
\f
\n
\r
\t
\v
\b
\0
\(
\
\x125612; (R6RS-style)
\x13 (Guile-style)
\u1234
\U123456
"
---tokens---
';; Test string escapes' Comment.Single
'\n\n' Text.Whitespace
'"' Literal.String
'basic string' Literal.String
'"' Literal.String
'\n\n' Text.Whitespace
'"' Literal.String
'Strings can\n span several\n\n lines.\n ' Literal.String
'"' Literal.String
'\n\n' Text.Whitespace
'"' Literal.String
'Escapes:\n ' Literal.String
'\\"' Literal.String.Escape
'\n ' Literal.String
'\\\\' Literal.String.Escape
'\n ' Literal.String
'\\|' Literal.String.Escape
'\n ' Literal.String
'\\a' Literal.String.Escape
'\n ' Literal.String
'\\f' Literal.String.Escape
'\n ' Literal.String
'\\n' Literal.String.Escape
'\n ' Literal.String
'\\r' Literal.String.Escape
'\n ' Literal.String
'\\t' Literal.String.Escape
'\n ' Literal.String
'\\v' Literal.String.Escape
'\n ' Literal.String
'\\b' Literal.String.Escape
'\n ' Literal.String
'\\0' Literal.String.Escape
'\n ' Literal.String
'\\(' Literal.String.Escape
'\n ' Literal.String
'\\\n' Literal.String.Escape
' ' Literal.String
'\\x125612;' Literal.String.Escape
' (R6RS-style)\n ' Literal.String
'\\x13' Literal.String.Escape
' (Guile-style)\n ' Literal.String
'\\u1234' Literal.String.Escape
'\n ' Literal.String
'\\U123456' Literal.String.Escape
'\n' Literal.String
'"' Literal.String
'\n' Text.Whitespace