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,6 @@
---input---
false
---tokens---
'false' Keyword.Constants
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
true
---tokens---
'true' Keyword.Constants
'\n' Text.Whitespace

View File

@ -0,0 +1,9 @@
---input---
@"this is the first line
and what is this one?"
---tokens---
'@"' Literal.String
'this is the first line\nand what is this one?' Literal.String
'"' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,8 @@
---input---
@"good bye"
---tokens---
'@"' Literal.String
'good bye' Literal.String
'"' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,12 @@
---input---
@"ant\fbee\rcougar"
---tokens---
'@"' Literal.String
'ant' Literal.String
'\\f' Literal.String.Escape
'bee' Literal.String
'\\r' Literal.String.Escape
'cougar' Literal.String
'"' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,8 @@
---input---
@"\x0f"
---tokens---
'@"' Literal.String
'\\x0f' Literal.String.Escape
'"' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,8 @@
---input---
@"\u89ee"
---tokens---
'@"' Literal.String
'\\u89ee' Literal.String.Escape
'"' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,8 @@
---input---
@"\U01f6aa"
---tokens---
'@"' Literal.String
'\\U01f6aa' Literal.String.Escape
'"' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,10 @@
---input---
# first line
# second line
---tokens---
'# first line' Comment.Single
'\n' Text.Whitespace
'# second line' Comment.Single
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
# a comment
---tokens---
'# a comment' Comment.Single
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
:
---tokens---
':' Name.Constant
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
::
---tokens---
'::' Name.Constant
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
:breathe
---tokens---
':breathe' Name.Constant
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
:0x0x0x0
---tokens---
':0x0x0x0' Name.Constant
'\n' Text.Whitespace

View File

@ -0,0 +1,12 @@
---input---
@````Look,
more than three
backticks can be
used...
kinda poetic...
but not really
````
---tokens---
'@````Look,\nmore than three\nbackticks can be\nused...\nkinda poetic...\nbut not really\n````' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,7 @@
---input---
@`An ordinary
long-buffer`
---tokens---
'@`An ordinary\nlong-buffer`' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,9 @@
---input---
```More than
one backtick
can be used
```
---tokens---
'```More than \none backtick \ncan be used\n```' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,7 @@
---input---
`A nice
long-string`
---tokens---
'`A nice\nlong-string`' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
nil
---tokens---
'nil' Keyword.Constants
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
3e8
---tokens---
'3e8' Literal.Number.Float
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
2e-1
---tokens---
'2e-1' Literal.Number.Float
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
2_3_1__.1_2_e-1
---tokens---
'2_3_1__.1_2_e-1' Literal.Number.Float
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
1.0
---tokens---
'1.0' Literal.Number.Float
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
0x0_9_.1_f__
---tokens---
'0x0_9_.1_f__' Literal.Number.Hex
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
0x09.1F
---tokens---
'0x09.1F' Literal.Number.Hex
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
0xF_F__F___F____
---tokens---
'0xF_F__F___F____' Literal.Number.Hex
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
0xaB
---tokens---
'0xaB' Literal.Number.Hex
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
1_3__0890__100__
---tokens---
'1_3__0890__100__' Literal.Number.Float
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
3__0890__100
---tokens---
'3__0890__100' Literal.Number.Float
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
1_000_000
---tokens---
'1_000_000' Literal.Number.Float
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
1
---tokens---
'1' Literal.Number.Float
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
-2.71828
---tokens---
'-2.71828' Literal.Number.Float
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
-0xFF
---tokens---
'-0xFF' Literal.Number.Hex
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
-2
---tokens---
'-2' Literal.Number.Float
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
-36r20
---tokens---
'-36r20' Literal.Number
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
3r01&02
---tokens---
'3r01&02' Literal.Number
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
2r0101010001
---tokens---
'2r0101010001' Literal.Number
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
1E9
---tokens---
'1E9' Literal.Number.Float
'\n' Text.Whitespace

View File

@ -0,0 +1,7 @@
---input---
@()
---tokens---
'@(' Punctuation
')' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,24 @@
---input---
@(@(3 0 3) 8 @(3 0 3))
---tokens---
'@(' Punctuation
'@(' Punctuation
'3' Literal.Number.Float
' ' Text.Whitespace
'0' Literal.Number.Float
' ' Text.Whitespace
'3' Literal.Number.Float
')' Punctuation
' ' Text.Whitespace
'8' Literal.Number.Float
' ' Text.Whitespace
'@(' Punctuation
'3' Literal.Number.Float
' ' Text.Whitespace
'0' Literal.Number.Float
' ' Text.Whitespace
'3' Literal.Number.Float
')' Punctuation
')' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,12 @@
---input---
@(:hello :there :friend)
---tokens---
'@(' Punctuation
':hello' Name.Constant
' ' Text.Whitespace
':there' Name.Constant
' ' Text.Whitespace
':friend' Name.Constant
')' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,7 @@
---input---
()
---tokens---
'(' Punctuation
')' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,20 @@
---input---
(+ 1 2 (- 9 8))
---tokens---
'(' Punctuation
'+' Name.Function
' ' Text.Whitespace
'1' Literal.Number.Float
' ' Text.Whitespace
'2' Literal.Number.Float
' ' Text.Whitespace
'(' Punctuation
'-' Name.Function
' ' Text.Whitespace
'9' Literal.Number.Float
' ' Text.Whitespace
'8' Literal.Number.Float
')' Punctuation
')' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,14 @@
---input---
(+ 1 2 3)
---tokens---
'(' Punctuation
'+' Name.Function
' ' Text.Whitespace
'1' Literal.Number.Float
' ' Text.Whitespace
'2' Literal.Number.Float
' ' Text.Whitespace
'3' Literal.Number.Float
')' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,13 @@
---input---
~(1 2 3)
---tokens---
'~' Operator
'(' Punctuation
'1' Literal.Number.Float
' ' Text.Whitespace
'2' Literal.Number.Float
' ' Text.Whitespace
'3' Literal.Number.Float
')' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,7 @@
---input---
~1
---tokens---
'~' Operator
'1' Literal.Number.Float
'\n' Text.Whitespace

View File

@ -0,0 +1,7 @@
---input---
':hobbes
---tokens---
"'" Operator
':hobbes' Name.Constant
'\n' Text.Whitespace

View File

@ -0,0 +1,13 @@
---input---
'(:a :b :c)
---tokens---
"'" Operator
'(' Punctuation
':a' Name.Constant
' ' Text.Whitespace
':b' Name.Constant
' ' Text.Whitespace
':c' Name.Constant
')' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,13 @@
---input---
|(= $ 1)
---tokens---
'|' Operator
'(' Punctuation
'=' Name.Function
' ' Text.Whitespace
'$' Name.Variable
' ' Text.Whitespace
'1' Literal.Number.Float
')' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,7 @@
---input---
|:a-fine-keyword
---tokens---
'|' Operator
':a-fine-keyword' Name.Constant
'\n' Text.Whitespace

View File

@ -0,0 +1,7 @@
---input---
|8
---tokens---
'|' Operator
'8' Literal.Number.Float
'\n' Text.Whitespace

View File

@ -0,0 +1,11 @@
---input---
|@[8 9]
---tokens---
'|' Operator
'@[' Punctuation
'8' Literal.Number.Float
' ' Text.Whitespace
'9' Literal.Number.Float
']' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,11 @@
---input---
|[1 2]
---tokens---
'|' Operator
'[' Punctuation
'1' Literal.Number.Float
' ' Text.Whitespace
'2' Literal.Number.Float
']' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,9 @@
---input---
|"nice string"
---tokens---
'|' Operator
'"' Literal.String
'nice string' Literal.String
'"' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,11 @@
---input---
|{:a 1}
---tokens---
'|' Operator
'{' Punctuation
':a' Name.Constant
' ' Text.Whitespace
'1' Literal.Number.Float
'}' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,7 @@
---input---
|a-sym
---tokens---
'|' Operator
'a-sym' Name.Variable
'\n' Text.Whitespace

View File

@ -0,0 +1,17 @@
---input---
(+ ;[1 2 3])
---tokens---
'(' Punctuation
'+' Name.Function
' ' Text.Whitespace
';' Operator
'[' Punctuation
'1' Literal.Number.Float
' ' Text.Whitespace
'2' Literal.Number.Float
' ' Text.Whitespace
'3' Literal.Number.Float
']' Punctuation
')' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,7 @@
---input---
@[]
---tokens---
'@[' Punctuation
']' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,24 @@
---input---
@[1 @[2 @[3 8]] @[9 0]]
---tokens---
'@[' Punctuation
'1' Literal.Number.Float
' ' Text.Whitespace
'@[' Punctuation
'2' Literal.Number.Float
' ' Text.Whitespace
'@[' Punctuation
'3' Literal.Number.Float
' ' Text.Whitespace
'8' Literal.Number.Float
']' Punctuation
']' Punctuation
' ' Text.Whitespace
'@[' Punctuation
'9' Literal.Number.Float
' ' Text.Whitespace
'0' Literal.Number.Float
']' Punctuation
']' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,18 @@
---input---
@[2 7 1 8 2 8]
---tokens---
'@[' Punctuation
'2' Literal.Number.Float
' ' Text.Whitespace
'7' Literal.Number.Float
' ' Text.Whitespace
'1' Literal.Number.Float
' ' Text.Whitespace
'8' Literal.Number.Float
' ' Text.Whitespace
'2' Literal.Number.Float
' ' Text.Whitespace
'8' Literal.Number.Float
']' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,7 @@
---input---
[]
---tokens---
'[' Punctuation
']' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,20 @@
---input---
[:html [:body [:p "surely you must be joking"]]]
---tokens---
'[' Punctuation
':html' Name.Constant
' ' Text.Whitespace
'[' Punctuation
':body' Name.Constant
' ' Text.Whitespace
'[' Punctuation
':p' Name.Constant
' ' Text.Whitespace
'"' Literal.String
'surely you must be joking' Literal.String
'"' Literal.String
']' Punctuation
']' Punctuation
']' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,12 @@
---input---
[:alice :bob :carol]
---tokens---
'[' Punctuation
':alice' Name.Constant
' ' Text.Whitespace
':bob' Name.Constant
' ' Text.Whitespace
':carol' Name.Constant
']' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,9 @@
---input---
"this is the first line
and what is this one?"
---tokens---
'"' Literal.String
'this is the first line\nand what is this one?' Literal.String
'"' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,8 @@
---input---
"hello there"
---tokens---
'"' Literal.String
'hello there' Literal.String
'"' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,12 @@
---input---
"first line\nsecond\tline"
---tokens---
'"' Literal.String
'first line' Literal.String
'\\n' Literal.String.Escape
'second' Literal.String
'\\t' Literal.String.Escape
'line' Literal.String
'"' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,8 @@
---input---
"\xAB"
---tokens---
'"' Literal.String
'\\xAB' Literal.String.Escape
'"' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,8 @@
---input---
"\u23f1"
---tokens---
'"' Literal.String
'\\u23f1' Literal.String.Escape
'"' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,8 @@
---input---
"\U01F609"
---tokens---
'"' Literal.String
'\\U01F609' Literal.String.Escape
'"' Literal.String
'\n' Text.Whitespace

View File

@ -0,0 +1,7 @@
---input---
{}
---tokens---
'{' Punctuation
'}' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,30 @@
---input---
{:alice {:likes :bob} :bob {:likes :carol} :carol {:likes :alice}}
---tokens---
'{' Punctuation
':alice' Name.Constant
' ' Text.Whitespace
'{' Punctuation
':likes' Name.Constant
' ' Text.Whitespace
':bob' Name.Constant
'}' Punctuation
' ' Text.Whitespace
':bob' Name.Constant
' ' Text.Whitespace
'{' Punctuation
':likes' Name.Constant
' ' Text.Whitespace
':carol' Name.Constant
'}' Punctuation
' ' Text.Whitespace
':carol' Name.Constant
' ' Text.Whitespace
'{' Punctuation
':likes' Name.Constant
' ' Text.Whitespace
':alice' Name.Constant
'}' Punctuation
'}' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,14 @@
---input---
{:a 1 :b 2}
---tokens---
'{' Punctuation
':a' Name.Constant
' ' Text.Whitespace
'1' Literal.Number.Float
' ' Text.Whitespace
':b' Name.Constant
' ' Text.Whitespace
'2' Literal.Number.Float
'}' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
var
---tokens---
'var' Name.Variable
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
*global-var*
---tokens---
'*global-var*' Name.Variable
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
*****
---tokens---
'*****' Name.Variable
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
kebab-case-symbol
---tokens---
'kebab-case-symbol' Name.Variable
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
!%$^*__--__._+++===-crazy-symbol
---tokens---
'!%$^*__--__._+++===-crazy-symbol' Name.Variable
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
my-module/my-function
---tokens---
'my-module/my-function' Name.Variable
'\n' Text.Whitespace

View File

@ -0,0 +1,6 @@
---input---
snake_case_symbol
---tokens---
'snake_case_symbol' Name.Variable
'\n' Text.Whitespace

View File

@ -0,0 +1,7 @@
---input---
@{}
---tokens---
'@{' Punctuation
'}' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,30 @@
---input---
@{:ant @{:legs 6} :bee @{:legs 6} :cheetah @{:legs 4}}
---tokens---
'@{' Punctuation
':ant' Name.Constant
' ' Text.Whitespace
'@{' Punctuation
':legs' Name.Constant
' ' Text.Whitespace
'6' Literal.Number.Float
'}' Punctuation
' ' Text.Whitespace
':bee' Name.Constant
' ' Text.Whitespace
'@{' Punctuation
':legs' Name.Constant
' ' Text.Whitespace
'6' Literal.Number.Float
'}' Punctuation
' ' Text.Whitespace
':cheetah' Name.Constant
' ' Text.Whitespace
'@{' Punctuation
':legs' Name.Constant
' ' Text.Whitespace
'4' Literal.Number.Float
'}' Punctuation
'}' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,18 @@
---input---
@{:x 0 :y 100 :z -80}
---tokens---
'@{' Punctuation
':x' Name.Constant
' ' Text.Whitespace
'0' Literal.Number.Float
' ' Text.Whitespace
':y' Name.Constant
' ' Text.Whitespace
'100' Literal.Number.Float
' ' Text.Whitespace
':z' Name.Constant
' ' Text.Whitespace
'-80' Literal.Number.Float
'}' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,30 @@
---input---
((compile (let [a 1] ~(+ ,a 1))))
---tokens---
'(' Punctuation
'(' Punctuation
'compile' Name.Function
' ' Text.Whitespace
'(' Punctuation
'let' Name.Builtin
' ' Text.Whitespace
'[' Punctuation
'a' Name.Variable
' ' Text.Whitespace
'1' Literal.Number.Float
']' Punctuation
' ' Text.Whitespace
'~' Operator
'(' Punctuation
'+' Name.Function
' ' Text.Whitespace
',' Operator
'a' Name.Variable
' ' Text.Whitespace
'1' Literal.Number.Float
')' Punctuation
')' Punctuation
')' Punctuation
')' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,14 @@
---input---
~(+ ,a 1)
---tokens---
'~' Operator
'(' Punctuation
'+' Name.Function
' ' Text.Whitespace
',' Operator
'a' Name.Variable
' ' Text.Whitespace
'1' Literal.Number.Float
')' Punctuation
'\n' Text.Whitespace