mirror of
https://github.com/pantor/inja.git
synced 2026-05-30 07:45:23 +00:00
fix string view reference movement in bytecode
This commit is contained in:
+9
-7
@@ -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";
|
||||
|
||||
|
||||
@@ -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" );
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user