aboutsummaryrefslogtreecommitdiff
path: root/test/base/toml/ParserTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/base/toml/ParserTest.cpp')
-rw-r--r--test/base/toml/ParserTest.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/base/toml/ParserTest.cpp b/test/base/toml/ParserTest.cpp
new file mode 100644
index 00000000..2582e3c3
--- /dev/null
+++ b/test/base/toml/ParserTest.cpp
@@ -0,0 +1,31 @@
+#include "cru/base/toml/TomlDocument.h"
+#include "cru/base/toml/TomlParser.h"
+
+#include <catch2/catch_test_macros.hpp>
+
+using namespace cru::toml;
+
+TEST_CASE("CruTomlParserTest Simple", "[toml]") {
+ TomlParser parser(
+ R"(
+a1 = v1
+a2 = v2
+# comment
+
+[s1]
+# comment
+a3 = v3
+a4 = v4
+
+[s2]
+a5 = v5
+a6 = v6
+ )");
+ auto document = parser.Parse();
+ REQUIRE(document.GetSection("")->GetValue("a1") == "v1");
+ REQUIRE(document.GetSection("")->GetValue("a2") == "v2");
+ REQUIRE(document.GetSection("s1")->GetValue("a3") == "v3");
+ REQUIRE(document.GetSection("s1")->GetValue("a4") == "v4");
+ REQUIRE(document.GetSection("s2")->GetValue("a5") == "v5");
+ REQUIRE(document.GetSection("s2")->GetValue("a6") == "v6");
+}