diff --git a/CMakeLists.txt b/CMakeLists.txt index 0516ca4..cd72f2f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.1...3.29) project(docpp VERSION 0.0.1 - DESCRIPTION "Simple C++ library for generating XML, HTML and CSS." + DESCRIPTION "C++ library for generating XML, HTML and CSS." HOMEPAGE_URL "https://speedie.site/docpp" LANGUAGES CXX ) diff --git a/tests/test.cpp b/tests/test.cpp index 2e96dd4..80a7cdb 100644 --- a/tests/test.cpp +++ b/tests/test.cpp @@ -40,8 +40,8 @@ SCENARIO("Test HTML", "[HTML]") { const std::string expected_html{"Test Title

Test Header

Test Paragraph

Test Paragraph With ID

Test Paragraph In Div

Test Paragraph With ID And Class

"}; - REQUIRE(doc.get() == expected_html); - REQUIRE(doc.get(docpp::HTML::FORMATTING_NEWLINE) == "\n\n\nTest Title\n\n\n

Test Header

\n

Test Paragraph

\n

Test Paragraph With ID

\n
\n

Test Paragraph In Div

\n
\n

Test Paragraph With ID And Class

\n\n\n"); + REQUIRE(doc.get() == expected_html); + REQUIRE(doc.get(docpp::HTML::FORMATTING_NEWLINE) == "\n\n\nTest Title\n\n\n

Test Header

\n

Test Paragraph

\n

Test Paragraph With ID

\n
\n

Test Paragraph In Div

\n
\n

Test Paragraph With ID And Class

\n\n
\n
\n"); }; const auto test2 = []() { @@ -53,8 +53,8 @@ SCENARIO("Test HTML", "[HTML]") { section.erase(docpp::HTML::Element("p", {}, "Test 2")); - REQUIRE(section.get() == "

Test 1

Test 3

"); - REQUIRE(section.get(docpp::HTML::FORMATTING_NEWLINE) == "\n

Test 1

\n

Test 3

\n"); + REQUIRE(section.get() == "

Test 1

Test 3

"); + REQUIRE(section.get(docpp::HTML::FORMATTING_NEWLINE) == "\n

Test 1

\n

Test 3

\n"); }; const auto test3 = []() { @@ -67,8 +67,8 @@ SCENARIO("Test HTML", "[HTML]") { std::size_t pos = section.find(docpp::HTML::Element("p", {}, "Test 2")); section.insert(pos, docpp::HTML::Element("p", {}, "Test 2.5")); - REQUIRE(section.get() == "

Test 1

Test 2.5

Test 3

"); - REQUIRE(section.get(docpp::HTML::FORMATTING_NEWLINE) == "\n

Test 1

\n

Test 2.5

\n

Test 3

\n"); + REQUIRE(section.get() == "

Test 1

Test 2.5

Test 3

"); + REQUIRE(section.get(docpp::HTML::FORMATTING_NEWLINE) == "\n

Test 1

\n

Test 2.5

\n

Test 3

\n"); }; const auto test4 = []() { @@ -82,8 +82,8 @@ SCENARIO("Test HTML", "[HTML]") { section.erase(pos); - REQUIRE(section.get() == "

Test 1

Test 3

"); - REQUIRE(section.get(docpp::HTML::FORMATTING_NEWLINE) == "\n

Test 1

\n

Test 3

\n"); + REQUIRE(section.get() == "

Test 1

Test 3

"); + REQUIRE(section.get(docpp::HTML::FORMATTING_NEWLINE) == "\n

Test 1

\n

Test 3

\n"); }; const auto test5 = []() { @@ -102,8 +102,8 @@ SCENARIO("Test HTML", "[HTML]") { docpp::HTML::Document doc{}; doc.set(section); - REQUIRE(doc.get() == "

Test 1

Test 2

"); - REQUIRE(doc.get(docpp::HTML::FORMATTING_NEWLINE) == "\n\n
\n

Test 1

\n
\n

Test 2

\n
\n
\n"); + REQUIRE(doc.get() == "

Test 1

Test 2

"); + REQUIRE(doc.get(docpp::HTML::FORMATTING_NEWLINE) == "\n\n
\n

Test 1

\n
\n

Test 2

\n
\n
\n"); }; const auto test6 = []() { @@ -112,8 +112,8 @@ SCENARIO("Test HTML", "[HTML]") { css.push_back(element); - REQUIRE(css.get() == "p {color: red;font-size: 16px;font-family: Arial;}"); - REQUIRE(css.get(docpp::CSS::FORMATTING_NEWLINE) == "p {\ncolor: red;\nfont-size: 16px;\nfont-family: Arial;\n}\n"); + REQUIRE(css.get() == "p {color: red;font-size: 16px;font-family: Arial;}"); + REQUIRE(css.get(docpp::CSS::FORMATTING_NEWLINE) == "p {\ncolor: red;\nfont-size: 16px;\nfont-family: Arial;\n}\n"); }; const auto test7 = []() { @@ -124,7 +124,7 @@ SCENARIO("Test HTML", "[HTML]") { css.push_back(element); css.push_front(element2); - REQUIRE(css.get() == "div {color: blue;font-size: 12px;font-family: Arial;}p {color: red;font-size: 16px;font-family: Arial;}"); + REQUIRE(css.get() == "div {color: blue;font-size: 12px;font-family: Arial;}p {color: red;font-size: 16px;font-family: Arial;}"); }; const auto test8 = []() { @@ -137,7 +137,7 @@ SCENARIO("Test HTML", "[HTML]") { css.erase(css.find(element2)); - REQUIRE(css.get() == "p {color: red;font-size: 16px;font-family: Arial;}"); + REQUIRE(css.get() == "p {color: red;font-size: 16px;font-family: Arial;}"); }; const auto test9 = []() { @@ -153,11 +153,11 @@ SCENARIO("Test HTML", "[HTML]") { css.swap(css.find(element), css.find(element2)); - REQUIRE(css.get() == "p {color: red;font-size: 16px;font-family: Arial;}div {color: blue;font-size: 12px;font-family: Arial;}"); + REQUIRE(css.get() == "p {color: red;font-size: 16px;font-family: Arial;}div {color: blue;font-size: 12px;font-family: Arial;}"); element.push_front(docpp::CSS::Property("font-weight", "bold")); - REQUIRE(element.get() == "p {font-weight: bold;color: red;font-size: 16px;font-family: Arial;}"); + REQUIRE(element.get() == "p {font-weight: bold;color: red;font-size: 16px;font-family: Arial;}"); }; const auto test10 = []() { @@ -169,7 +169,7 @@ SCENARIO("Test HTML", "[HTML]") { section.swap(section.find(docpp::HTML::Element("p", {}, "Test 2")), section.find(docpp::HTML::Element("p", {}, "Test 3"))); - REQUIRE(section.get() == "

Test 1

Test 3

Test 2

"); + REQUIRE(section.get() == "

Test 1

Test 3

Test 2

"); }; const auto test11 = []() { @@ -181,7 +181,7 @@ SCENARIO("Test HTML", "[HTML]") { section.swap(docpp::HTML::Element("p", {}, "Test 2"), docpp::HTML::Element("p", {}, "Test 3")); - REQUIRE(section.get() == "

Test 1

Test 3

Test 2

"); + REQUIRE(section.get() == "

Test 1

Test 3

Test 2

"); }; const auto test12 = []() { @@ -193,7 +193,7 @@ SCENARIO("Test HTML", "[HTML]") { section.push_front(docpp::HTML::Element("p", {}, "Test 0")); - REQUIRE(section.get() == "

Test 0

Test 1

Test 2

Test 3

"); + REQUIRE(section.get() == "

Test 0

Test 1

Test 2

Test 3

"); }; const auto test13 = []() { @@ -215,7 +215,7 @@ SCENARIO("Test HTML", "[HTML]") { section.erase(pos); section.erase(pos2); - REQUIRE(section.get() == "

Test 1

Test 3

Test 4

Test 5

"); + REQUIRE(section.get() == "

Test 1

Test 3

Test 4

Test 5

"); }; const auto test14 = []() { @@ -231,11 +231,11 @@ SCENARIO("Test HTML", "[HTML]") { element.erase(red); - REQUIRE(element.get() == "p {font-size: 16px;font-family: Arial;}"); + REQUIRE(element.get() == "p {font-size: 16px;font-family: Arial;}"); element.insert(red, docpp::CSS::Property("color", "red")); - REQUIRE(element.get() == "p {color: red;font-size: 16px;font-family: Arial;}"); + REQUIRE(element.get() == "p {color: red;font-size: 16px;font-family: Arial;}"); }; const auto test15 = []() { @@ -244,7 +244,7 @@ SCENARIO("Test HTML", "[HTML]") { prop.push_back(docpp::HTML::Property(std::pair("id", "test_id"))); prop.push_back(docpp::HTML::Property(std::pair("class", "class1 class2 class3"))); - REQUIRE(docpp::HTML::Element("p", prop, {}).get() == "

"); + REQUIRE(docpp::HTML::Element("p", prop, {}).get() == "

"); const int pos = prop.find("class"); @@ -252,8 +252,8 @@ SCENARIO("Test HTML", "[HTML]") { const int pos2 = prop.find("class2"); - REQUIRE(prop.at(pos2).get_key() == "class"); - REQUIRE(prop.at(pos2).get_value() == "class1 class2 class3"); + REQUIRE(prop.at(pos2).get_key() == "class"); + REQUIRE(prop.at(pos2).get_value() == "class1 class2 class3"); REQUIRE(pos2 != docpp::HTML::Properties::npos); @@ -263,7 +263,7 @@ SCENARIO("Test HTML", "[HTML]") { prop.erase(pos); - REQUIRE(docpp::HTML::Element("p", prop, {}).get() == "

"); + REQUIRE(docpp::HTML::Element("p", prop, {}).get() == "

"); }; const auto test16 = []() { @@ -281,7 +281,7 @@ SCENARIO("Test HTML", "[HTML]") { doc.get_section() += docpp::HTML::Element("p", {}, "Test 7"); - REQUIRE(doc.get() == "

Test 4

Test 5

Test 6

Test 7

"); + REQUIRE(doc.get() == "

Test 4

Test 5

Test 6

Test 7

"); }; const auto test17 = []() { @@ -293,7 +293,7 @@ SCENARIO("Test HTML", "[HTML]") { docpp::HTML::Document doc{section}; - REQUIRE(doc.get(docpp::HTML::FORMATTING_PRETTY) == "\n\n\t

Test 1

\n\t

Test 2

\n\t

Test 3

\n"); + REQUIRE(doc.get(docpp::HTML::FORMATTING_PRETTY) == "\n\n\t

Test 1

\n\t

Test 2

\n\t

Test 3

\n"); }; const auto test18 = []() { @@ -303,7 +303,7 @@ SCENARIO("Test HTML", "[HTML]") { section.push_back(docpp::HTML::Element("p", {}, "Test 2")); section.push_back(docpp::HTML::Element("p", {}, "Test 3")); - REQUIRE(section.get() == "

Test 1

Test 2

Test 3

"); + REQUIRE(section.get() == "

Test 1

Test 2

Test 3

"); }; const auto test19 = []() { @@ -313,8 +313,8 @@ SCENARIO("Test HTML", "[HTML]") { section.push_back(docpp::HTML::Element("p", {}, "Test 2")); section.push_back(docpp::HTML::Element("p", {}, "Test 3")); - REQUIRE(section.front().get() == "

Test 1

"); - REQUIRE(section.back().get() == "

Test 3

"); + REQUIRE(section.front().get() == "

Test 1

"); + REQUIRE(section.back().get() == "

Test 3

"); }; const auto test20 = []() { @@ -325,14 +325,14 @@ SCENARIO("Test HTML", "[HTML]") { prop.push_back(docpp::HTML::Property(std::pair("style", "color: red; font-size: 16px; font-family: Arial;"))); for (const docpp::HTML::Property& p : prop) { - REQUIRE(p.get_key() == "id"); - REQUIRE(p.get_value() == "test_id"); + REQUIRE(p.get_key() == "id"); + REQUIRE(p.get_value() == "test_id"); break; } for (docpp::HTML::Properties::iterator it = ++prop.begin(); it != prop.end(); ++it) { - REQUIRE(it->get_key() == "class"); - REQUIRE(it->get_value() == "class1 class2 class3"); + REQUIRE(it->get_key() == "class"); + REQUIRE(it->get_value() == "class1 class2 class3"); break; } }; @@ -345,13 +345,13 @@ SCENARIO("Test HTML", "[HTML]") { sect.push_back(docpp::HTML::Element("p", {}, "Test 3")); for (const docpp::HTML::Element& elem : sect) { - REQUIRE(elem.get() == "

Test 1

"); + REQUIRE(elem.get() == "

Test 1

"); break; } for (docpp::HTML::Section::iterator it = ++sect.begin(); it != sect.end(); ++it) { docpp::HTML::Element elem = *it; - REQUIRE(elem.get() == "

Test 2

"); + REQUIRE(elem.get() == "

Test 2

"); break; } };