PlaceholderParser: changed the syntax of if inside a {} block to
{if condition then block elsif} The "then" keyword is now mandatory. On the other hand, "then" keyword must NOT be used using old syntax: {if condition}...{endif}
This commit is contained in:
parent
c6c6f361da
commit
f591c2503a
2 changed files with 38 additions and 22 deletions
|
@ -247,7 +247,7 @@ SCENARIO("Placeholder parser variables", "[PlaceholderParser]") {
|
|||
}
|
||||
SECTION("nested if with new variables 2, mixing }{ with ;") {
|
||||
std::string script =
|
||||
"{if 1 == 0;local myints = (5, 4, 3, 2, 1);else;local myfloats = (1., 2., 3., 4., 5., 6., 7.);endif}"
|
||||
"{if 1 == 0 then local myints = (5, 4, 3, 2, 1);else;local myfloats = (1., 2., 3., 4., 5., 6., 7.);endif}"
|
||||
"{size(myfloats)}";
|
||||
REQUIRE(parser.process(script, 0, nullptr, nullptr, nullptr) == "7");
|
||||
}
|
||||
|
@ -259,22 +259,27 @@ SCENARIO("Placeholder parser variables", "[PlaceholderParser]") {
|
|||
}
|
||||
SECTION("if with empty block and ;") {
|
||||
std::string script =
|
||||
"{if false;else;local myfloats = (1., 2., 3., 4., 5., 6., 7.);endif}"
|
||||
"{if false then else;local myfloats = (1., 2., 3., 4., 5., 6., 7.);endif}"
|
||||
"{size(myfloats)}";
|
||||
REQUIRE(parser.process(script, 0, nullptr, nullptr, nullptr) == "7");
|
||||
}
|
||||
SECTION("nested if with new variables, two level, mixing }{ with ;") {
|
||||
std::string script =
|
||||
"{if 1 == 1;if 2 == 3;nejaka / haluz;else;local myints = (6, 5, 4, 3, 2, 1);endif;else;if zase * haluz;else;local myfloats = (1., 2., 3., 4., 5., 6., 7.);endif;endif}"
|
||||
"{if 1 == 1 then if 2 == 3}nejaka / haluz{else local myints = (6, 5, 4, 3, 2, 1) endif else if zase * haluz then else local myfloats = (1., 2., 3., 4., 5., 6., 7.) endif endif}"
|
||||
"{size(myints)}";
|
||||
REQUIRE(parser.process(script, 0, nullptr, nullptr, nullptr) == "6");
|
||||
}
|
||||
SECTION("nested if with new variables, two level, ;, no semicolon after else") {
|
||||
SECTION("nested if with new variables, two level, mixing }{ with ; 2") {
|
||||
std::string script =
|
||||
"{if 1 == 1;if 2 == 3;nejaka / haluz;else local myints = (6, 5, 4, 3, 2, 1);endif;else if zase * haluz;else local myfloats = (1., 2., 3., 4., 5., 6., 7.);endif;endif}"
|
||||
"{if 1 == 1 then if 2 == 3 then nejaka / haluz else}{local myints = (6, 5, 4, 3, 2, 1)}{endif else if zase * haluz then else local myfloats = (1., 2., 3., 4., 5., 6., 7.) endif endif}"
|
||||
"{size(myints)}";
|
||||
REQUIRE(parser.process(script, 0, nullptr, nullptr, nullptr) == "6");
|
||||
}
|
||||
SECTION("if else completely empty") { REQUIRE(parser.process("{if false; elsif false; else; endif}", 0, nullptr, nullptr, nullptr) == ""); }
|
||||
SECTION("if else completely empty 2") { REQUIRE(parser.process("{if false; elsif false; else endif}", 0, nullptr, nullptr, nullptr) == ""); }
|
||||
SECTION("nested if with new variables, two level, mixing }{ with ; 3") {
|
||||
std::string script =
|
||||
"{if 1 == 1 then if 2 == 3 then nejaka / haluz else}{local myints = (6, 5, 4, 3, 2, 1)}{endif else}{if zase * haluz}{else local myfloats = (1., 2., 3., 4., 5., 6., 7.) endif}{endif}"
|
||||
"{size(myints)}";
|
||||
REQUIRE(parser.process(script, 0, nullptr, nullptr, nullptr) == "6");
|
||||
}
|
||||
SECTION("if else completely empty") { REQUIRE(parser.process("{if false then elsif false then else endif}", 0, nullptr, nullptr, nullptr) == ""); }
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue