Keywords 'break' & 'continue' tested

There were a couple bugs - I'm glad I'm so thorough with these tests.

See #152
This commit is contained in:
2024-12-30 16:56:57 +11:00
parent b84a70cc34
commit 23eb3e45df
4 changed files with 182 additions and 29 deletions

View File

@@ -1,48 +1,100 @@
//make sure it works with multiple repititions
//-------------------------
//test break
while (true) {
print "1";
break;
print "2";
assert false, "break failed";
}
print "3";
//test continue
var flag1: bool = true;
while (flag1) {
flag1 = false;
continue;
assert false, "continue failed";
}
print "done";
//-------------------------
//test break
while (true) {
print 1;
break;
assert false, "break failed";
}
//test continue
var flag2: bool = true;
while (flag2) {
flag2 = false;
continue;
assert false, "continue failed";
}
print "done";
//-------------------------
//test break
while (true) {
break;
assert false, "break failed";
}
//test continue
var flag3: bool = true;
while (flag3) {
flag3 = false;
continue;
assert false, "continue failed";
}
print "done";
//-------------------------
{
//test break
while (true) {
print 2;
if (true) {
print 3;
while (true) {
print 4;
break;
print 5;
}
print 6;
}
print 7;
break;
assert false, "break failed";
}
print 8;
//test continue
var flag4: bool = true;
while (flag4) {
flag4 = false;
continue;
assert false, "continue failed";
}
print "done";
}
print 9;
//-------------------------
while (true) {
print 1;
{
//test break
while (true) {
print 2;
if (true) {
print 3;
{
break;
print 6;
}
print 7;
assert false, "break failed";
}
print 8;
//test continue
var flag5: bool = true;
while (flag5) {
flag5 = false;
{
continue;
}
assert false, "continue failed";
}
print "done";
}
print 9;