blob: 322eb79dacae33ec4c9497ee21c7d8891bc5a86b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
// This source code is released into the public domain.
#include <catch2/catch_test_macros.hpp>
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
|