fix string view reference movement in bytecode

This commit is contained in:
Lars Berscheid
2019-01-07 16:41:16 +01:00
parent 699c207c8c
commit a9d4ca9a4e
8 changed files with 49 additions and 54 deletions
+9 -7
View File
@@ -5,26 +5,28 @@
using json = nlohmann::json;
const std::string test_file_directory {"../test/data/"};
TEST_CASE("loading") {
inja::Environment env = inja::Environment();
inja::Environment env;
json data;
data["name"] = "Jeff";
SECTION("Files should be loaded") {
CHECK( env.load_file("../test/data/simple.txt") == "Hello {{ name }}." );
CHECK( env.load_file(test_file_directory + "simple.txt") == "Hello {{ name }}." );
}
SECTION("Files should be rendered") {
CHECK( env.render_file("../test/data/simple.txt", data) == "Hello Jeff." );
CHECK( env.render_file(test_file_directory + "simple.txt", data) == "Hello Jeff." );
}
SECTION("File includes should be rendered") {
CHECK( env.render_file("../test/data/include.txt", data) == "Answer: Hello Jeff." );
CHECK( env.render_file(test_file_directory + "include.txt", data) == "Answer: Hello Jeff." );
}
}
TEST_CASE("complete-files") {
inja::Environment env = inja::Environment("../test/data/");
inja::Environment env {test_file_directory};
for (std::string test_name : {"simple-file", "nested", "nested-line", "html"}) {
SECTION(test_name) {
@@ -34,8 +36,8 @@ TEST_CASE("complete-files") {
}
TEST_CASE("global-path") {
inja::Environment env = inja::Environment("../test/data/", "./");
inja::Environment env_result = inja::Environment("./");
inja::Environment env {test_file_directory, "./"};
inja::Environment env_result {"./"};
json data;
data["name"] = "Jeff";
+2
View File
@@ -43,6 +43,7 @@ TEST_CASE("types") {
CHECK( env.render("Hello {{ names.1 }}!", data) == "Hello Seb!" );
CHECK( env.render("Hello {{ brother.name }}!", data) == "Hello Chris!" );
CHECK( env.render("Hello {{ brother.daughter0.name }}!", data) == "Hello Maria!" );
CHECK( env.render("{{ \"{{ no_value }}\" }}", data) == "{{ no_value }}" );
CHECK_THROWS_WITH( env.render("{{unknown}}", data), "[inja.exception.render_error] variable 'unknown' not found" );
}
@@ -215,6 +216,7 @@ TEST_CASE("functions") {
CHECK( env.render("{{ default(nothing, 0) }}", data) == "0" );
CHECK( env.render("{{ default(name, \"nobody\") }}", data) == "Peter" );
CHECK( env.render("{{ default(surname, \"nobody\") }}", data) == "nobody" );
CHECK( env.render("{{ default(surname, \"{{ surname }}\") }}", data) == "{{ surname }}" );
CHECK_THROWS_WITH( env.render("{{ default(surname, lastname) }}", data), "[inja.exception.render_error] variable 'lastname' not found" );
}