mirror of
https://github.com/MorizzG/MLox.git
synced 2025-12-06 04:22:41 +00:00
added lox test files
This commit is contained in:
parent
821f5c62bc
commit
0f3d0a15f0
268 changed files with 7497 additions and 3 deletions
19
lox.t/logical_operator/and.lox
Normal file
19
lox.t/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
lox.t/logical_operator/and_truth.lox
Normal file
8
lox.t/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
lox.t/logical_operator/or.lox
Normal file
19
lox.t/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
lox.t/logical_operator/or_truth.lox
Normal file
8
lox.t/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