Added 7.x tests

This commit is contained in:
Jesse Beder
2012-05-19 21:43:22 -05:00
parent 4086c285fa
commit 7d57209033

View File

@@ -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