Support break statements
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -60,6 +60,22 @@ end
|
||||
delete script;
|
||||
}
|
||||
|
||||
TEST_CASE( "Numerical for loop, break", "[integration]" ) {
|
||||
auto script = Script::Create(uR"(
|
||||
result = 0
|
||||
for i = 0,5 do
|
||||
if i > 3 then break end
|
||||
result = result + i
|
||||
end
|
||||
)");
|
||||
REQUIRE(!script->Diagnostics -> HasErrors());
|
||||
script->Evaluate();
|
||||
auto var = script->GetVariable(u"result");
|
||||
REQUIRE(var->EvaluateInteger() == 6);
|
||||
delete script;
|
||||
}
|
||||
|
||||
|
||||
TEST_CASE( "Generic for loop over simple numerical table, get keys", "[integration]" ) {
|
||||
auto script = Script::Create(uR"(
|
||||
local table = {1, 3, 5, 7, 9}
|
||||
@@ -90,5 +106,21 @@ end
|
||||
delete script;
|
||||
}
|
||||
|
||||
TEST_CASE( "Generic for loop over simple numerical table, break", "[integration]" ) {
|
||||
auto script = Script::Create(uR"(
|
||||
local table = {1, 3, 5, 7, 9}
|
||||
result = 0
|
||||
for i,v in table do
|
||||
if i > 3 then break end
|
||||
result = result + v
|
||||
end
|
||||
)");
|
||||
REQUIRE(!script->Diagnostics -> HasErrors());
|
||||
script->Evaluate();
|
||||
auto var = script->GetVariable(u"result");
|
||||
REQUIRE(var->EvaluateInteger() == 9);
|
||||
delete script;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user