|
|
|
|
|
|
|
|
kvs = parse_string(lm_src); |
|
|
kvs = parse_string(lm_src); |
|
|
CHECK(kvs.size() == 1); |
|
|
CHECK(kvs.size() == 1); |
|
|
REQUIRE(kvs.find("foo")); |
|
|
REQUIRE(kvs.find("foo")); |
|
|
CHECK(kvs.find("foo")->value() == "bar"); |
|
|
|
|
|
|
|
|
CHECK(kvs.find("foo")->value == "bar"); |
|
|
|
|
|
|
|
|
lm_src = "foo:bar: baz"; |
|
|
lm_src = "foo:bar: baz"; |
|
|
kvs = parse_string(lm_src); |
|
|
kvs = parse_string(lm_src); |
|
|
CHECK(kvs.size() == 1); |
|
|
CHECK(kvs.size() == 1); |
|
|
REQUIRE(kvs.find("foo:bar")); |
|
|
REQUIRE(kvs.find("foo:bar")); |
|
|
CHECK(kvs.find("foo:bar")->value() == "baz"); |
|
|
|
|
|
|
|
|
CHECK(kvs.find("foo:bar")->value == "baz"); |
|
|
|
|
|
|
|
|
CHECK(parse_string("#comment").size() == 0); |
|
|
CHECK(parse_string("#comment").size() == 0); |
|
|
CHECK(parse_string("\n\n").size() == 0); |
|
|
CHECK(parse_string("\n\n").size() == 0); |
|
|
|
|
|
|
|
|
kvs = parse_string(s); |
|
|
kvs = parse_string(s); |
|
|
CHECK(kvs.size() == 1); |
|
|
CHECK(kvs.size() == 1); |
|
|
REQUIRE(kvs.find("Foo")); |
|
|
REQUIRE(kvs.find("Foo")); |
|
|
CHECK(kvs.find("Foo")->value() == ""); |
|
|
|
|
|
|
|
|
CHECK(kvs.find("Foo")->value == ""); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
kvs = parse_string("foo: # Not a comment"); |
|
|
kvs = parse_string("foo: # Not a comment"); |
|
|
CHECK(kvs.size() == 1); |
|
|
CHECK(kvs.size() == 1); |
|
|
REQUIRE(kvs.find("foo")); |
|
|
REQUIRE(kvs.find("foo")); |
|
|
CHECK(kvs.find("foo")->value() == "# Not a comment"); |
|
|
|
|
|
|
|
|
CHECK(kvs.find("foo")->value == "# Not a comment"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void test_multi() { |
|
|
void test_multi() { |
|
|
auto kvs = parse_string("Foo: bar\nbaz: qux"); |
|
|
auto kvs = parse_string("Foo: bar\nbaz: qux"); |
|
|
CHECK(kvs.size() == 2); |
|
|
CHECK(kvs.size() == 2); |
|
|
REQUIRE(kvs.find("Foo")); |
|
|
REQUIRE(kvs.find("Foo")); |
|
|
CHECK(kvs.find("Foo")->value() == "bar"); |
|
|
|
|
|
|
|
|
CHECK(kvs.find("Foo")->value == "bar"); |
|
|
REQUIRE(kvs.find("baz")); |
|
|
REQUIRE(kvs.find("baz")); |
|
|
CHECK(kvs.find("baz")->value() == "qux"); |
|
|
|
|
|
|
|
|
CHECK(kvs.find("baz")->value == "qux"); |
|
|
|
|
|
|
|
|
kvs = parse_string("foo: first\nfoo: second\n"); |
|
|
kvs = parse_string("foo: first\nfoo: second\n"); |
|
|
CHECK(kvs.size() == 2); |
|
|
CHECK(kvs.size() == 2); |
|
|
auto iter = kvs.iter("foo"); |
|
|
auto iter = kvs.iter("foo"); |
|
|
REQUIRE(iter); |
|
|
REQUIRE(iter); |
|
|
CHECK(iter->key() == "foo"); |
|
|
|
|
|
CHECK(iter->value() == "first"); |
|
|
|
|
|
|
|
|
CHECK(iter->key == "foo"); |
|
|
|
|
|
CHECK(iter->value == "first"); |
|
|
++iter; |
|
|
++iter; |
|
|
REQUIRE(iter); |
|
|
REQUIRE(iter); |
|
|
CHECK(iter->key() == "foo"); |
|
|
|
|
|
CHECK(iter->value() == "second"); |
|
|
|
|
|
|
|
|
CHECK(iter->key == "foo"); |
|
|
|
|
|
CHECK(iter->value == "second"); |
|
|
++iter; |
|
|
++iter; |
|
|
CHECK(!iter); |
|
|
CHECK(!iter); |
|
|
|
|
|
|