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
9
interpreter/tests/lox/assignment/associativity.lox
Normal file
9
interpreter/tests/lox/assignment/associativity.lox
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
var a = "a";
|
||||
var b = "b";
|
||||
var c = "c";
|
||||
|
||||
// Assignment is right-associative.
|
||||
a = b = c;
|
||||
print a; // expect: c
|
||||
print b; // expect: c
|
||||
print c; // expect: c
|
||||
8
interpreter/tests/lox/assignment/global.lox
Normal file
8
interpreter/tests/lox/assignment/global.lox
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
var a = "before";
|
||||
print a; // expect: before
|
||||
|
||||
a = "after";
|
||||
print a; // expect: after
|
||||
|
||||
print a = "arg"; // expect: arg
|
||||
print a; // expect: arg
|
||||
2
interpreter/tests/lox/assignment/grouping.lox
Normal file
2
interpreter/tests/lox/assignment/grouping.lox
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
var a = "a";
|
||||
(a) = "value"; // Error at '=': Invalid assignment target.
|
||||
3
interpreter/tests/lox/assignment/infix_operator.lox
Normal file
3
interpreter/tests/lox/assignment/infix_operator.lox
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
var a = "a";
|
||||
var b = "b";
|
||||
a + b = "value"; // Error at '=': Invalid assignment target.
|
||||
10
interpreter/tests/lox/assignment/local.lox
Normal file
10
interpreter/tests/lox/assignment/local.lox
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
var a = "before";
|
||||
print a; // expect: before
|
||||
|
||||
a = "after";
|
||||
print a; // expect: after
|
||||
|
||||
print a = "arg"; // expect: arg
|
||||
print a; // expect: arg
|
||||
}
|
||||
2
interpreter/tests/lox/assignment/prefix_operator.lox
Normal file
2
interpreter/tests/lox/assignment/prefix_operator.lox
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
var a = "a";
|
||||
!a = "value"; // Error at '=': Invalid assignment target.
|
||||
5
interpreter/tests/lox/assignment/syntax.lox
Normal file
5
interpreter/tests/lox/assignment/syntax.lox
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
// Assignment on RHS of variable.
|
||||
var a = "before";
|
||||
var c = a = "var";
|
||||
print a; // expect: var
|
||||
print c; // expect: var
|
||||
7
interpreter/tests/lox/assignment/to_this.lox
Normal file
7
interpreter/tests/lox/assignment/to_this.lox
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
class Foo {
|
||||
Foo() {
|
||||
this = "value"; // Error at '=': Invalid assignment target.
|
||||
}
|
||||
}
|
||||
|
||||
Foo();
|
||||
1
interpreter/tests/lox/assignment/undefined.lox
Normal file
1
interpreter/tests/lox/assignment/undefined.lox
Normal file
|
|
@ -0,0 +1 @@
|
|||
unknown = "what"; // Error: Undefined variable 'unknown'.
|
||||
Loading…
Add table
Add a link
Reference in a new issue