Implements while loop
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2019-06-28 13:28:39 +02:00
parent f7a6ff7d87
commit df79489d4d
9 changed files with 142 additions and 29 deletions

View File

@@ -122,5 +122,33 @@ end
delete script;
}
TEST_CASE( "While loop", "[integration]" ) {
auto script = Script::Create(uR"(
result = 0
while result < 5 do
result = result + 1
end
)");
REQUIRE(!script->Diagnostics -> HasErrors());
script->Evaluate();
auto var = script->GetVariable(u"result");
REQUIRE(var->EvaluateInteger() == 5);
delete script;
}
TEST_CASE( "While loop break", "[integration]" ) {
auto script = Script::Create(uR"(
result = 0
while true do
result = result + 1
if result >= 5 then break end
end
)");
REQUIRE(!script->Diagnostics -> HasErrors());
script->Evaluate();
auto var = script->GetVariable(u"result");
REQUIRE(var->EvaluateInteger() == 5);
delete script;
}
#endif