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,75 @@
---input---
123 -11 0 -0 0.5 .5 1. -0.5 +0.5 -.5 -1. 2e1 -2e1 2e -2e +2e e.3 -e.3 11.2e-3 -11.2e-3 5_6 5__6 _5 6_ 5.6_7 5.67_
---tokens---
'123' Literal.Number.Integer
' ' Text.Whitespace
'-' Operator
'11' Literal.Number.Integer
' ' Text.Whitespace
'0' Literal.Number.Integer
' ' Text.Whitespace
'-' Operator
'0' Literal.Number.Integer
' ' Text.Whitespace
'0.5' Literal.Number.Float
' ' Text.Whitespace
'.5' Literal.Number.Float
' ' Text.Whitespace
'1.' Literal.Number.Float
' ' Text.Whitespace
'-' Operator
'0.5' Literal.Number.Float
' ' Text.Whitespace
'+' Operator
'0.5' Literal.Number.Float
' ' Text.Whitespace
'-' Operator
'.5' Literal.Number.Float
' ' Text.Whitespace
'-' Operator
'1.' Literal.Number.Float
' ' Text.Whitespace
'2e1' Literal.Number.Float
' ' Text.Whitespace
'-' Operator
'2e1' Literal.Number.Float
' ' Text.Whitespace
'2' Literal.Number.Integer
'e' Name
' ' Text.Whitespace
'-' Operator
'2' Literal.Number.Integer
'e' Name
' ' Text.Whitespace
'+' Operator
'2' Literal.Number.Integer
'e' Name
' ' Text.Whitespace
'e' Name
'.3' Literal.Number.Float
' ' Text.Whitespace
'-' Operator
'e' Name
'.3' Literal.Number.Float
' ' Text.Whitespace
'11.2e-3' Literal.Number.Float
' ' Text.Whitespace
'-' Operator
'11.2e-3' Literal.Number.Float
' ' Text.Whitespace
'5_6' Literal.Number.Integer
' ' Text.Whitespace
'5' Literal.Number.Integer
'__6' Name
' ' Text.Whitespace
'_5' Name
' ' Text.Whitespace
'6' Literal.Number.Integer
'_' Name
' ' Text.Whitespace
'5.6_7' Literal.Number.Float
' ' Text.Whitespace
'5.67' Literal.Number.Float
'_' Name
'\n' Text.Whitespace

View File

@ -0,0 +1,38 @@
---input---
fn
def
struct
trait
class
if
elif
else
with
---tokens---
'fn' Keyword
'\n' Text.Whitespace
'def' Name.Function
'\n' Text.Whitespace
'struct' Keyword
'\n' Text.Whitespace
'trait' Name.Struct
'\n' Text.Whitespace
'class' Keyword
'\n' Text.Whitespace
'if' Name.Class
'\n' Text.Whitespace
'elif' Keyword
'\n' Text.Whitespace
'else' Keyword
'\n' Text.Whitespace
'with' Keyword
'\n' Text.Whitespace

View File

@ -0,0 +1,55 @@
# Tests that '@' is recognized as an Operator
---input---
S = (H @ beta - r).T @ inv(H @ V @ H.T) @ (H @ beta - r)
---tokens---
'S' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'(' Punctuation
'H' Name
' ' Text.Whitespace
'@' Operator
' ' Text.Whitespace
'beta' Name
' ' Text.Whitespace
'-' Operator
' ' Text.Whitespace
'r' Name
')' Punctuation
'.' Operator
'T' Name
' ' Text.Whitespace
'@' Operator
' ' Text.Whitespace
'inv' Name
'(' Punctuation
'H' Name
' ' Text.Whitespace
'@' Operator
' ' Text.Whitespace
'V' Name
' ' Text.Whitespace
'@' Operator
' ' Text.Whitespace
'H' Name
'.' Operator
'T' Name
')' Punctuation
' ' Text.Whitespace
'@' Operator
' ' Text.Whitespace
'(' Punctuation
'H' Name
' ' Text.Whitespace
'@' Operator
' ' Text.Whitespace
'beta' Name
' ' Text.Whitespace
'-' Operator
' ' Text.Whitespace
'r' Name
')' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,54 @@
---input---
match spam:
case Some(x):
print(f"found {x}")
case None:
print("found nothing")
case _:
assert False
---tokens---
'match' Keyword
' ' Text.Whitespace
'spam' Name
':' Punctuation
'\n ' Text.Whitespace
'case' Name
' ' Text.Whitespace
'Some' Name
'(' Punctuation
'x' Name
'):' Punctuation
'\n ' Text.Whitespace
'print' Name.Builtin
'(' Punctuation
'f' Literal.String.Affix
'"' Literal.String.Double
'found ' Literal.String.Double
'{' Literal.String.Interpol
'x' Name
'}' Literal.String.Interpol
'"' Literal.String.Double
')' Punctuation
'\n ' Text.Whitespace
'case' Name
' ' Text.Whitespace
'None' Keyword.Constant
':' Punctuation
'\n ' Text.Whitespace
'print' Name.Builtin
'(' Punctuation
'"' Literal.String.Double
'found nothing' Literal.String.Double
'"' Literal.String.Double
')' Punctuation
'\n ' Text.Whitespace
'case' Name
' ' Text.Whitespace
'_' Name
':' Punctuation
'\n ' Text.Whitespace
'assert' Keyword
' ' Text.Whitespace
'False' Keyword.Constant
'\n' Text.Whitespace