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.config/string.test.cc | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 nihil.config/string.test.cc (limited to 'nihil.config/string.test.cc') diff --git a/nihil.config/string.test.cc b/nihil.config/string.test.cc new file mode 100644 index 0000000..322eb79 --- /dev/null +++ b/nihil.config/string.test.cc @@ -0,0 +1,32 @@ +// This source code is released into the public domain. + +#include + +import nihil.std; +import nihil.config; + +namespace { +TEST_CASE("nihil.config: string option", "[nihil][nihil.config]") +{ + auto storage = std::string(); + + REQUIRE(nihil::config::get_option("test_option").has_value() == false); + + { + auto string_option = nihil::config::string( + storage, "test_option", "This is a test option"); + + auto *opt = nihil::config::get_option("test_option").value(); + + REQUIRE(opt->name() == "test_option"); + REQUIRE(opt->description() == "This is a test option"); + REQUIRE(opt->is_default() == true); + REQUIRE(opt->string() == ""); + + REQUIRE(opt->string("testing")); + REQUIRE(storage == "testing"); + } + + REQUIRE(nihil::config::get_option("test_option").has_value() == false); +} +} // anonymous namespace -- cgit v1.2.3