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" 1 2 #include <catch2/catch_test_macros.hpp> 3 4 TEST_CASE("constructor", "[attribute]") 5 { 6 SECTION("name") 7 { 8 const hemplate::attribute attr {"class"}; 9 10 REQUIRE(attr.name() == "class"); 11 REQUIRE(attr.empty()); 12 REQUIRE(std::string(attr) == "class"); 13 } 14 15 SECTION("name, value") 16 { 17 const hemplate::attribute attr {"class", "test"}; 18 19 REQUIRE(attr.name() == "class"); 20 REQUIRE(attr.value() == "test"); 21 REQUIRE(!attr.empty()); 22 REQUIRE(std::string(attr) == R"(class="test")"); 23 } 24 } 25 26 TEST_CASE("append", "[attribute]") 27 { 28 hemplate::attribute attr {"class"}; 29 30 SECTION("empty") 31 { 32 attr.append(" ", ""); 33 34 REQUIRE(attr.name() == "class"); 35 REQUIRE(attr.empty()); 36 REQUIRE(std::string(attr) == R"(class)"); 37 } 38 39 SECTION("first") 40 { 41 attr.append(" ", "first"); 42 43 REQUIRE(attr.name() == "class"); 44 REQUIRE(attr.value() == "first"); 45 REQUIRE(!attr.empty()); 46 REQUIRE(std::string(attr) == R"(class="first")"); 47 48 SECTION("second") 49 { 50 attr.append(" ", "second"); 51 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 }