Fix issue 246 (#247)

* Add `parse_expression` with one argument in preparation to fix #246.

* Fix issue #246: `func(n1 + n2, n3)` runs as if `func(n1, n2 + n3)`

* Simplify parser for an expression enclosed by parentheses.
This commit is contained in:
Kubo Takehiro
2022-12-04 19:28:04 +09:00
committed by GitHub
parent edc17798b3
commit d462b9f829
6 changed files with 128 additions and 152 deletions

View File

@@ -264,6 +264,8 @@ TEST_CASE("callbacks") {
CHECK(env.render("{{ double-greetings }}", data) == "Hello Hello!");
CHECK(env.render("{{ double-greetings() }}", data) == "Hello Hello!");
CHECK(env.render("{{ multiply(4, 5) }}", data) == "20.0");
CHECK(env.render("{{ multiply(4, 2 + 3) }}", data) == "20.0");
CHECK(env.render("{{ multiply(2 + 2, 5) }}", data) == "20.0");
CHECK(env.render("{{ multiply(length(\"tester\"), 5) }}", data) == "30.0");
CHECK(env.render("{{ multiply(5, length(\"t\")) }}", data) == "5.0");
CHECK(env.render("{{ multiply(3, 4, 5) }}", data) == "60.0");