mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 12:41:17 +00:00
Added 7.x tests
This commit is contained in:
@@ -1354,145 +1354,407 @@ namespace Test {
|
|||||||
// 7.1
|
// 7.1
|
||||||
TEST AliasNodes()
|
TEST AliasNodes()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_1);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "First occurrence");
|
||||||
|
EXPECT_SCALAR("?", 1, "Foo");
|
||||||
|
EXPECT_SCALAR("?", 0, "Second occurrence");
|
||||||
|
EXPECT_ALIAS(1);
|
||||||
|
EXPECT_SCALAR("?", 0, "Override anchor");
|
||||||
|
EXPECT_SCALAR("?", 2, "Bar");
|
||||||
|
EXPECT_SCALAR("?", 0, "Reuse anchor");
|
||||||
|
EXPECT_ALIAS(2);
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.2
|
// 7.2
|
||||||
TEST EmptyNodes()
|
TEST EmptyNodes()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_2);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "foo");
|
||||||
|
EXPECT_SCALAR("tag:yaml.org,2002:str", 0, "");
|
||||||
|
EXPECT_SCALAR("tag:yaml.org,2002:str", 0, "");
|
||||||
|
EXPECT_SCALAR("?", 0, "bar");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.3
|
// 7.3
|
||||||
TEST CompletelyEmptyNodes()
|
TEST CompletelyEmptyNodes()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_3);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "foo");
|
||||||
|
EXPECT_NULL(0);
|
||||||
|
EXPECT_NULL(0);
|
||||||
|
EXPECT_SCALAR("?", 0, "bar");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.4
|
// 7.4
|
||||||
TEST DoubleQuotedImplicitKeys()
|
TEST DoubleQuotedImplicitKeys()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_4);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("!", 0, "implicit block key");
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("!", 0, "implicit flow key");
|
||||||
|
EXPECT_SCALAR("?", 0, "value");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.5
|
// 7.5
|
||||||
TEST DoubleQuotedLineBreaks()
|
TEST DoubleQuotedLineBreaks()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_5);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SCALAR("!", 0, "folded to a space,\nto a line feed, or \t \tnon-content");
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.6
|
// 7.6
|
||||||
TEST DoubleQuotedLines()
|
TEST DoubleQuotedLines()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_6);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SCALAR("!", 0, " 1st non-empty\n2nd non-empty 3rd non-empty ");
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.7
|
// 7.7
|
||||||
TEST SingleQuotedCharacters()
|
TEST SingleQuotedCharacters()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_7);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SCALAR("!", 0, "here's to \"quotes\"");
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.8
|
// 7.8
|
||||||
TEST SingleQuotedImplicitKeys()
|
TEST SingleQuotedImplicitKeys()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_8);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("!", 0, "implicit block key");
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("!", 0, "implicit flow key");
|
||||||
|
EXPECT_SCALAR("?", 0, "value");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.9
|
// 7.9
|
||||||
TEST SingleQuotedLines()
|
TEST SingleQuotedLines()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_9);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SCALAR("!", 0, " 1st non-empty\n2nd non-empty 3rd non-empty ");
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.10
|
// 7.10
|
||||||
TEST PlainCharacters()
|
TEST PlainCharacters()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_10);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "::vector");
|
||||||
|
EXPECT_SCALAR("!", 0, ": - ()");
|
||||||
|
EXPECT_SCALAR("?", 0, "Up, up, and away!");
|
||||||
|
EXPECT_SCALAR("?", 0, "-123");
|
||||||
|
EXPECT_SCALAR("?", 0, "http://example.com/foo#bar");
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "::vector");
|
||||||
|
EXPECT_SCALAR("!", 0, ": - ()");
|
||||||
|
EXPECT_SCALAR("!", 0, "Up, up, and away!");
|
||||||
|
EXPECT_SCALAR("?", 0, "-123");
|
||||||
|
EXPECT_SCALAR("?", 0, "http://example.com/foo#bar");
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.11
|
// 7.11
|
||||||
TEST PlainImplicitKeys()
|
TEST PlainImplicitKeys()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_11);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "implicit block key");
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "implicit flow key");
|
||||||
|
EXPECT_SCALAR("?", 0, "value");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.12
|
// 7.12
|
||||||
TEST PlainLines()
|
TEST PlainLines()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_12);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SCALAR("?", 0, "1st non-empty\n2nd non-empty 3rd non-empty");
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.13
|
// 7.13
|
||||||
TEST FlowSequence()
|
TEST FlowSequence()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_13);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "one");
|
||||||
|
EXPECT_SCALAR("?", 0, "two");
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "three");
|
||||||
|
EXPECT_SCALAR("?", 0, "four");
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.14
|
// 7.14
|
||||||
TEST FlowSequenceEntries()
|
TEST FlowSequenceEntries()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_14);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_SCALAR("!", 0, "double quoted");
|
||||||
|
EXPECT_SCALAR("!", 0, "single quoted");
|
||||||
|
EXPECT_SCALAR("?", 0, "plain text");
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "nested");
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "single");
|
||||||
|
EXPECT_SCALAR("?", 0, "pair");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.15
|
// 7.15
|
||||||
TEST FlowMappings()
|
TEST FlowMappings()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_15);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "one");
|
||||||
|
EXPECT_SCALAR("?", 0, "two");
|
||||||
|
EXPECT_SCALAR("?", 0, "three");
|
||||||
|
EXPECT_SCALAR("?", 0, "four");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "five");
|
||||||
|
EXPECT_SCALAR("?", 0, "six");
|
||||||
|
EXPECT_SCALAR("?", 0, "seven");
|
||||||
|
EXPECT_SCALAR("?", 0, "eight");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.16
|
// 7.16
|
||||||
TEST FlowMappingEntries()
|
TEST FlowMappingEntries()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_16);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "explicit");
|
||||||
|
EXPECT_SCALAR("?", 0, "entry");
|
||||||
|
EXPECT_SCALAR("?", 0, "implicit");
|
||||||
|
EXPECT_SCALAR("?", 0, "entry");
|
||||||
|
EXPECT_NULL(0);
|
||||||
|
EXPECT_NULL(0);
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.17
|
// 7.17
|
||||||
TEST FlowMappingSeparateValues()
|
TEST FlowMappingSeparateValues()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_17);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "unquoted");
|
||||||
|
EXPECT_SCALAR("!", 0, "separate");
|
||||||
|
EXPECT_SCALAR("?", 0, "http://foo.com");
|
||||||
|
EXPECT_NULL(0);
|
||||||
|
EXPECT_SCALAR("?", 0, "omitted value");
|
||||||
|
EXPECT_NULL(0);
|
||||||
|
EXPECT_NULL(0);
|
||||||
|
EXPECT_SCALAR("?", 0, "omitted key");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.18
|
// 7.18
|
||||||
TEST FlowMappingAdjacentValues()
|
TEST FlowMappingAdjacentValues()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_18);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("!", 0, "adjacent");
|
||||||
|
EXPECT_SCALAR("?", 0, "value");
|
||||||
|
EXPECT_SCALAR("!", 0, "readable");
|
||||||
|
EXPECT_SCALAR("?", 0, "value");
|
||||||
|
EXPECT_SCALAR("!", 0, "empty");
|
||||||
|
EXPECT_NULL(0);
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.19
|
// 7.19
|
||||||
TEST SinglePairFlowMappings()
|
TEST SinglePairFlowMappings()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_19);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "foo");
|
||||||
|
EXPECT_SCALAR("?", 0, "bar");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.20
|
// 7.20
|
||||||
TEST SinglePairExplicitEntry()
|
TEST SinglePairExplicitEntry()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_20);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "foo bar");
|
||||||
|
EXPECT_SCALAR("?", 0, "baz");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.21
|
// 7.21
|
||||||
TEST SinglePairImplicitEntries()
|
TEST SinglePairImplicitEntries()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_21);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "YAML");
|
||||||
|
EXPECT_SCALAR("?", 0, "separate");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_NULL(0);
|
||||||
|
EXPECT_SCALAR("?", 0, "empty key entry");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "JSON");
|
||||||
|
EXPECT_SCALAR("?", 0, "like");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_SCALAR("?", 0, "adjacent");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.22
|
// 7.22
|
||||||
TEST InvalidImplicitKeys()
|
TEST InvalidImplicitKeys()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
try {
|
||||||
|
HANDLE(ex7_22);
|
||||||
|
} catch(const YAML::Exception& e) {
|
||||||
|
if(e.msg == YAML::ErrorMsg::END_OF_SEQ_FLOW)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
return " no exception thrown";
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.23
|
// 7.23
|
||||||
TEST FlowContent()
|
TEST FlowContent()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_23);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "a");
|
||||||
|
EXPECT_SCALAR("?", 0, "b");
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_MAP_START("?", 0);
|
||||||
|
EXPECT_SCALAR("?", 0, "a");
|
||||||
|
EXPECT_SCALAR("?", 0, "b");
|
||||||
|
EXPECT_MAP_END();
|
||||||
|
EXPECT_SCALAR("!", 0, "a");
|
||||||
|
EXPECT_SCALAR("!", 0, "b");
|
||||||
|
EXPECT_SCALAR("?", 0, "c");
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 7.24
|
// 7.24
|
||||||
TEST FlowNodes()
|
TEST FlowNodes()
|
||||||
{
|
{
|
||||||
return " not written yet";
|
HANDLE(ex7_24);
|
||||||
|
EXPECT_DOC_START();
|
||||||
|
EXPECT_SEQ_START("?", 0);
|
||||||
|
EXPECT_SCALAR("tag:yaml.org,2002:str", 0, "a");
|
||||||
|
EXPECT_SCALAR("!", 0, "b");
|
||||||
|
EXPECT_SCALAR("!", 1, "c");
|
||||||
|
EXPECT_ALIAS(1);
|
||||||
|
EXPECT_SCALAR("tag:yaml.org,2002:str", 0, "");
|
||||||
|
EXPECT_SEQ_END();
|
||||||
|
EXPECT_DOC_END();
|
||||||
|
DONE();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 8.1
|
// 8.1
|
||||||
|
Reference in New Issue
Block a user