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
19
interpreter/tests/lox/logical_operator/and.lox
Normal file
19
interpreter/tests/lox/logical_operator/and.lox
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
// Note: These tests implicitly depend on ints being truthy.
|
||||
|
||||
// Return the first non-true argument.
|
||||
print false and 1; // expect: false
|
||||
print true and 1; // expect: 1
|
||||
print 1 and 2 and false; // expect: false
|
||||
|
||||
// Return the last argument if all are true.
|
||||
print 1 and true; // expect: true
|
||||
print 1 and 2 and 3; // expect: 3
|
||||
|
||||
// Short-circuit at the first false argument.
|
||||
var a = "before";
|
||||
var b = "before";
|
||||
(a = true) and
|
||||
(b = false) and
|
||||
(a = "bad");
|
||||
print a; // expect: true
|
||||
print b; // expect: false
|
||||
8
interpreter/tests/lox/logical_operator/and_truth.lox
Normal file
8
interpreter/tests/lox/logical_operator/and_truth.lox
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
// False and nil are false.
|
||||
print false and "bad"; // expect: false
|
||||
print nil and "bad"; // expect: nil
|
||||
|
||||
// Everything else is true.
|
||||
print true and "ok"; // expect: ok
|
||||
print 0 and "ok"; // expect: ok
|
||||
print "" and "ok"; // expect: ok
|
||||
19
interpreter/tests/lox/logical_operator/or.lox
Normal file
19
interpreter/tests/lox/logical_operator/or.lox
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
// Note: These tests implicitly depend on ints being truthy.
|
||||
|
||||
// Return the first true argument.
|
||||
print 1 or true; // expect: 1
|
||||
print false or 1; // expect: 1
|
||||
print false or false or true; // expect: true
|
||||
|
||||
// Return the last argument if all are false.
|
||||
print false or false; // expect: false
|
||||
print false or false or false; // expect: false
|
||||
|
||||
// Short-circuit at the first true argument.
|
||||
var a = "before";
|
||||
var b = "before";
|
||||
(a = false) or
|
||||
(b = true) or
|
||||
(a = "bad");
|
||||
print a; // expect: false
|
||||
print b; // expect: true
|
||||
8
interpreter/tests/lox/logical_operator/or_truth.lox
Normal file
8
interpreter/tests/lox/logical_operator/or_truth.lox
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
// False and nil are false.
|
||||
print false or "ok"; // expect: ok
|
||||
print nil or "ok"; // expect: ok
|
||||
|
||||
// Everything else is true.
|
||||
print true or "ok"; // expect: true
|
||||
print 0 or "ok"; // expect: 0
|
||||
print "s" or "ok"; // expect: s
|
||||
Loading…
Add table
Add a link
Reference in a new issue