hemplateSimple XML template engine |
git clone git://git.dimitrijedobrota.com/hemplate.git |
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |
attribute_test.cpp (1253B)
0 #include "hemplate/attribute.hpp"
2 #include <catch2/catch_test_macros.hpp>
4 TEST_CASE("constructor", "[attribute]")
5 {
6 SECTION("name")
7 {
8 const hemplate::attribute attr {"class"};
10 REQUIRE(attr.name() == "class");
11 REQUIRE(attr.empty());
12 REQUIRE(std::string(attr) == "class");
13 }
15 SECTION("name, value")
16 {
17 const hemplate::attribute attr {"class", "test"};
19 REQUIRE(attr.name() == "class");
20 REQUIRE(attr.value() == "test");
21 REQUIRE(!attr.empty());
22 REQUIRE(std::string(attr) == R"(class="test")");
23 }
24 }
26 TEST_CASE("append", "[attribute]")
27 {
28 hemplate::attribute attr {"class"};
30 SECTION("empty")
31 {
32 attr.append(" ", "");
34 REQUIRE(attr.name() == "class");
35 REQUIRE(attr.empty());
36 REQUIRE(std::string(attr) == R"(class)");
37 }
39 SECTION("first")
40 {
41 attr.append(" ", "first");
43 REQUIRE(attr.name() == "class");
44 REQUIRE(attr.value() == "first");
45 REQUIRE(!attr.empty());
46 REQUIRE(std::string(attr) == R"(class="first")");
48 SECTION("second")
49 {
50 attr.append(" ", "second");
52 REQUIRE(attr.name() == "class");
53 REQUIRE(attr.value() == "first second");
54 REQUIRE(!attr.empty());
55 REQUIRE(std::string(attr) == R"(class="first second")");
56 }
57 }
58 }