diff options
Diffstat (limited to 'test/base')
| -rw-r--r-- | test/base/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | test/base/toml/ParserTest.cpp | 31 |
2 files changed, 32 insertions, 0 deletions
diff --git a/test/base/CMakeLists.txt b/test/base/CMakeLists.txt index b36bbd23..38cb9d57 100644 --- a/test/base/CMakeLists.txt +++ b/test/base/CMakeLists.txt @@ -6,6 +6,7 @@ add_executable(CruBaseTest StringUtilTest.cpp SubProcessTest.cpp TimerTest.cpp + toml/ParserTest.cpp xml/ParserTest.cpp ) target_link_libraries(CruBaseTest PRIVATE CruBase CruTestBase) 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"); +} |
