summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2026-05-01 10:02:50 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2026-05-01 10:54:24 +0200
commit62b65e16f5ef4e59dcfbdc10ae2b3cd419d79d7a (patch)
treeae2a4a47c259e94133213fa5ba56c4fb0b67f7df /test
parenta84c4722a3774bb64e3e3616c16264d09c991378 (diff)
Parsing distinction for single-word and function-call terms
Diffstat (limited to 'test')
-rw-r--r--test/asset/parser/function-fail.et2
-rw-r--r--test/asset/parser/function.et10
-rw-r--r--test/script/parser.et6
3 files changed, 18 insertions, 0 deletions
diff --git a/test/asset/parser/function-fail.et b/test/asset/parser/function-fail.et
new file mode 100644
index 0000000..59ac3b0
--- /dev/null
+++ b/test/asset/parser/function-fail.et
@@ -0,0 +1,2 @@
+test Test:
+ guard 1 == 1
diff --git a/test/asset/parser/function.et b/test/asset/parser/function.et
new file mode 100644
index 0000000..3eca414
--- /dev/null
+++ b/test/asset/parser/function.et
@@ -0,0 +1,10 @@
+def f (x) and y = (x + y) + 1
+
+def g (x) and y = (x + (y+1))
+
+test Test:
+ guard (1 == 1)
+ guard (f 1 and 2 == 4)
+ guard (f 1 and 2 == g 1 and 2)
+ guard (f 1 and (g 2 and 3) == g 1 and 2 + 4)
+ guard (f (10 + g and 1 1) and (g 2 and 3) == g 1 and 2 + 10 +6)
diff --git a/test/script/parser.et b/test/script/parser.et
index 554e345..1a00bc8 100644
--- a/test/script/parser.et
+++ b/test/script/parser.et
@@ -11,3 +11,9 @@ test Parser:
send "load ${scripts.path}/indent.et"
expect /load-done/
+
+ send "load ${scripts.path}/function.et"
+ expect /load-done/
+
+ send "load ${scripts.path}/function-fail.et"
+ expect /load-failed parse-error/