diff --git a/src/inja.hpp b/src/inja.hpp index cf46c9e..f8d53c0 100644 --- a/src/inja.hpp +++ b/src/inja.hpp @@ -753,7 +753,8 @@ public: } std::string render(const std::string& input, json data) { - return parse(input).render(data); + const std::string text = input; + return parse(text).render(data); } std::string render_template(const std::string& filename, json data) { diff --git a/test/src/unit-renderer.cpp b/test/src/unit-renderer.cpp index 6136a4b..f223a18 100644 --- a/test/src/unit-renderer.cpp +++ b/test/src/unit-renderer.cpp @@ -78,8 +78,11 @@ TEST_CASE("functions") { CHECK( env.render("{{ upper( name ) }}", data) == "PETER" ); CHECK( env.render("{{ upper(city) }}", data) == "NEW YORK" ); CHECK( env.render("{{ upper(upper(name)) }}", data) == "PETER" ); + std::cout << "1" << std::endl; CHECK_THROWS_WITH( env.render("{{ upper(5) }}", data), "[json.exception.type_error.302] type must be string, but is number" ); + std::cout << "2" << std::endl; CHECK_THROWS_WITH( env.render("{{ upper(true) }}", data), "[json.exception.type_error.302] type must be string, but is boolean" ); + std::cout << "3" << std::endl; } /* SECTION("lower") {