clang-tidy applied and CMake installation of the single header added (#287)

* Fixed headers and linter marks applied

Headers were wrong.
Applied some linter suggestions. There are still many left.

* CMake adjusted for single header

CMake can now install the single header.
Removed an unneeded header.

---------

Co-authored-by: Berscheid <1885260+pantor@users.noreply.github.com>
This commit is contained in:
Matheus Werny
2024-10-05 09:36:11 +02:00
committed by GitHub
parent 1281271fda
commit 92994bec0a
17 changed files with 163 additions and 71 deletions

View File

@@ -1,5 +1,12 @@
// Copyright (c) 2020 Pantor. All rights reserved.
#include <doctest/doctest.h>
#include <string>
#include "inja/environment.hpp"
#include "inja/inja.hpp"
#include "inja/template.hpp"
TEST_CASE("types") {
inja::Environment env;
inja::json data;
@@ -160,7 +167,7 @@ TEST_CASE("templates") {
SUBCASE("reuse") {
inja::Environment env;
inja::Template temp = env.parse("{% if is_happy %}{{ name }}{% else %}{{ city }}{% endif %}");
const inja::Template temp = env.parse("{% if is_happy %}{{ name }}{% else %}{{ city }}{% endif %}");
CHECK(env.render(temp, data) == "Peter");
@@ -171,10 +178,10 @@ TEST_CASE("templates") {
SUBCASE("include") {
inja::Environment env;
inja::Template t1 = env.parse("Hello {{ name }}");
const inja::Template t1 = env.parse("Hello {{ name }}");
env.include_template("greeting", t1);
inja::Template t2 = env.parse("{% include \"greeting\" %}!");
const inja::Template t2 = env.parse("{% include \"greeting\" %}!");
CHECK(env.render(t2, data) == "Hello Peter!");
CHECK_THROWS_WITH(env.parse("{% include \"does-not-exist\" %}!"), "[inja.exception.file_error] failed accessing file at 'does-not-exist'");
@@ -189,13 +196,13 @@ TEST_CASE("templates") {
env.set_search_included_templates_in_files(false);
env.set_include_callback([&env](const std::string&, const std::string&) { return env.parse("Hello {{ name }}"); });
inja::Template t1 = env.parse("{% include \"greeting\" %}!");
const inja::Template t1 = env.parse("{% include \"greeting\" %}!");
CHECK(env.render(t1, data) == "Hello Peter!");
env.set_search_included_templates_in_files(true);
env.set_include_callback([&env](const std::string&, const std::string& name) { return env.parse("Bye " + name); });
inja::Template t2 = env.parse("{% include \"Jeff\" %}!");
const inja::Template t2 = env.parse("{% include \"Jeff\" %}!");
CHECK(env.render(t2, data) == "Bye Jeff!");
}
@@ -211,9 +218,9 @@ TEST_CASE("templates") {
SUBCASE("count variables") {
inja::Environment env;
inja::Template t1 = env.parse("Hello {{ name }}");
inja::Template t2 = env.parse("{% if is_happy %}{{ name }}{% else %}{{ city }}{% endif %}");
inja::Template t3 = env.parse("{% if at(name, test) %}{{ name }}{% else %}{{ city }}{{ upper(city) }}{% endif %}");
const inja::Template t1 = env.parse("Hello {{ name }}");
const inja::Template t2 = env.parse("{% if is_happy %}{{ name }}{% else %}{{ city }}{% endif %}");
const inja::Template t3 = env.parse("{% if at(name, test) %}{{ name }}{% else %}{{ city }}{{ upper(city) }}{% endif %}");
CHECK(t1.count_variables() == 1);
CHECK(t2.count_variables() == 3);