From 2e2d1bd3b6c7776b77c33b94f30ead89367a71e6 Mon Sep 17 00:00:00 2001 From: Lexi Winter Date: Tue, 1 Jul 2025 17:07:04 +0100 Subject: add nihil.std --- nihil.ucl/tests/parse.cc | 55 ------------------------------------------------ 1 file changed, 55 deletions(-) delete mode 100644 nihil.ucl/tests/parse.cc (limited to 'nihil.ucl/tests/parse.cc') diff --git a/nihil.ucl/tests/parse.cc b/nihil.ucl/tests/parse.cc deleted file mode 100644 index 43ce219..0000000 --- a/nihil.ucl/tests/parse.cc +++ /dev/null @@ -1,55 +0,0 @@ -/* - * This source code is released into the public domain. - */ - -#include - -#include -#include - -import nihil.ucl; - -TEST_CASE("ucl parse: iterate array", "[ucl]") -{ - using namespace std::literals; - using namespace nihil::ucl; - - auto err = parse("value = [1, 42, 666];"sv); - REQUIRE(err); - - auto obj = *err; - - auto arr = obj["value"]; - REQUIRE(arr.key() == "value"); - - auto ints = object_cast>(arr); - REQUIRE(ints); - - auto vec = std::vector(std::from_range, *ints); - - REQUIRE(vec.size() == 3); - REQUIRE(vec[0] == 1); - REQUIRE(vec[1] == 42); - REQUIRE(vec[2] == 666); -} - -TEST_CASE("ucl parse: iterate hash", "[ucl]") -{ - using namespace std::literals; - using namespace nihil::ucl; - - auto input = "int = 42; bool = true; str = \"test\";"sv; - auto obj = parse(input); - REQUIRE(obj); - - for (auto &&[key, value] : *obj) { - REQUIRE(key == value.key()); - - if (key == "int") - REQUIRE(object_cast(value) == 42); - else if (key == "bool") - REQUIRE(object_cast(value) == true); - else if (key == "str") - REQUIRE(object_cast(value) == "test"); - } -} -- cgit v1.2.3