mirror of
https://github.com/MorizzG/rlox.git
synced 2025-12-06 04:12:42 +00:00
added tests
This commit is contained in:
parent
1cca1494a4
commit
660464638f
255 changed files with 7220 additions and 3 deletions
2
interpreter/tests/lox/while/class_in_body.lox
Normal file
2
interpreter/tests/lox/while/class_in_body.lox
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
// [line 2] Error at 'class': Expect expression.
|
||||
while (true) class Foo {}
|
||||
19
interpreter/tests/lox/while/closure_in_body.lox
Normal file
19
interpreter/tests/lox/while/closure_in_body.lox
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
var f1;
|
||||
var f2;
|
||||
var f3;
|
||||
|
||||
var i = 1;
|
||||
while (i < 4) {
|
||||
var j = i;
|
||||
fun f() { print j; }
|
||||
|
||||
if (j == 1) f1 = f;
|
||||
else if (j == 2) f2 = f;
|
||||
else f3 = f;
|
||||
|
||||
i = i + 1;
|
||||
}
|
||||
|
||||
f1(); // expect: 1
|
||||
f2(); // expect: 2
|
||||
f3(); // expect: 3
|
||||
2
interpreter/tests/lox/while/fun_in_body.lox
Normal file
2
interpreter/tests/lox/while/fun_in_body.lox
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
// [line 2] Error at 'fun': Expect expression.
|
||||
while (true) fun foo() {}
|
||||
10
interpreter/tests/lox/while/return_closure.lox
Normal file
10
interpreter/tests/lox/while/return_closure.lox
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
fun f() {
|
||||
while (true) {
|
||||
var i = "i";
|
||||
fun g() { print i; }
|
||||
return g;
|
||||
}
|
||||
}
|
||||
|
||||
var h = f();
|
||||
h(); // expect: i
|
||||
9
interpreter/tests/lox/while/return_inside.lox
Normal file
9
interpreter/tests/lox/while/return_inside.lox
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
fun f() {
|
||||
while (true) {
|
||||
var i = "i";
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
print f();
|
||||
// expect: i
|
||||
21
interpreter/tests/lox/while/syntax.lox
Normal file
21
interpreter/tests/lox/while/syntax.lox
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
// Single-expression body.
|
||||
var c = 0;
|
||||
while (c < 3) print c = c + 1;
|
||||
// expect: 1
|
||||
// expect: 2
|
||||
// expect: 3
|
||||
|
||||
// Block body.
|
||||
var a = 0;
|
||||
while (a < 3) {
|
||||
print a;
|
||||
a = a + 1;
|
||||
}
|
||||
// expect: 0
|
||||
// expect: 1
|
||||
// expect: 2
|
||||
|
||||
// Statement bodies.
|
||||
while (false) if (true) 1; else 2;
|
||||
while (false) while (true) 1;
|
||||
while (false) for (;;) 1;
|
||||
2
interpreter/tests/lox/while/var_in_body.lox
Normal file
2
interpreter/tests/lox/while/var_in_body.lox
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
// [line 2] Error at 'var': Expect expression.
|
||||
while (true) var foo;
|
||||
Loading…
Add table
Add a link
Reference in a new issue