Added 8.x tests
This commit is contained in:
parent
7d57209033
commit
729ac991c7
@ -1760,133 +1760,376 @@ namespace Test {
|
||||
// 8.1
|
||||
TEST BlockScalarHeader()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_1);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_SEQ_START("?", 0);
|
||||
EXPECT_SCALAR("!", 0, "literal\n");
|
||||
EXPECT_SCALAR("!", 0, " folded\n");
|
||||
EXPECT_SCALAR("!", 0, "keep\n\n");
|
||||
EXPECT_SCALAR("!", 0, " strip");
|
||||
EXPECT_SEQ_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.2
|
||||
TEST BlockIndentationHeader()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_2);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_SEQ_START("?", 0);
|
||||
EXPECT_SCALAR("!", 0, "detected\n");
|
||||
EXPECT_SCALAR("!", 0, "\n\n# detected\n");
|
||||
EXPECT_SCALAR("!", 0, " explicit\n");
|
||||
EXPECT_SCALAR("!", 0, "\t\ndetected\n");
|
||||
EXPECT_SEQ_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.3
|
||||
TEST InvalidBlockScalarIndentationIndicators()
|
||||
{
|
||||
return " not written yet";
|
||||
{
|
||||
bool threw = false;
|
||||
try {
|
||||
HANDLE(ex8_3a);
|
||||
} catch(const YAML::Exception& e) {
|
||||
if(e.msg != YAML::ErrorMsg::END_OF_SEQ)
|
||||
throw;
|
||||
|
||||
threw = true;
|
||||
}
|
||||
|
||||
if(!threw)
|
||||
return " no exception thrown for less indented auto-detecting indentation for a literal block scalar";
|
||||
}
|
||||
|
||||
{
|
||||
bool threw = false;
|
||||
try {
|
||||
HANDLE(ex8_3b);
|
||||
} catch(const YAML::Exception& e) {
|
||||
if(e.msg != YAML::ErrorMsg::END_OF_SEQ)
|
||||
throw;
|
||||
|
||||
threw = true;
|
||||
}
|
||||
|
||||
if(!threw)
|
||||
return " no exception thrown for less indented auto-detecting indentation for a folded block scalar";
|
||||
}
|
||||
|
||||
{
|
||||
bool threw = false;
|
||||
try {
|
||||
HANDLE(ex8_3c);
|
||||
} catch(const YAML::Exception& e) {
|
||||
if(e.msg != YAML::ErrorMsg::END_OF_SEQ)
|
||||
throw;
|
||||
|
||||
threw = true;
|
||||
}
|
||||
|
||||
if(!threw)
|
||||
return " no exception thrown for less indented explicit indentation for a literal block scalar";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 8.4
|
||||
TEST ChompingFinalLineBreak()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_4);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "strip");
|
||||
EXPECT_SCALAR("!", 0, "text");
|
||||
EXPECT_SCALAR("?", 0, "clip");
|
||||
EXPECT_SCALAR("!", 0, "text\n");
|
||||
EXPECT_SCALAR("?", 0, "keep");
|
||||
EXPECT_SCALAR("!", 0, "text\n");
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.5
|
||||
TEST ChompingTrailingLines()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_5);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "strip");
|
||||
EXPECT_SCALAR("!", 0, "# text");
|
||||
EXPECT_SCALAR("?", 0, "clip");
|
||||
EXPECT_SCALAR("!", 0, "# text\n");
|
||||
EXPECT_SCALAR("?", 0, "keep");
|
||||
EXPECT_SCALAR("!", 0, "# text\n"); // Note: I believe this is a bug in the YAML spec - it should be "# text\n\n"
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.6
|
||||
TEST EmptyScalarChomping()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_6);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "strip");
|
||||
EXPECT_SCALAR("!", 0, "");
|
||||
EXPECT_SCALAR("?", 0, "clip");
|
||||
EXPECT_SCALAR("!", 0, "");
|
||||
EXPECT_SCALAR("?", 0, "keep");
|
||||
EXPECT_SCALAR("!", 0, "\n");
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.7
|
||||
TEST LiteralScalar()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_7);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_SCALAR("!", 0, "literal\n\ttext\n");
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.8
|
||||
TEST LiteralContent()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_8);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_SCALAR("!", 0, "\n\nliteral\n \n\ntext\n");
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.9
|
||||
TEST FoldedScalar()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_9);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_SCALAR("!", 0, "folded text\n");
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.10
|
||||
TEST FoldedLines()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_10);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_SCALAR("!", 0, "\nfolded line\nnext line\n * bullet\n\n * list\n * lines\n\nlast line\n");
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.11
|
||||
TEST MoreIndentedLines()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_11);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_SCALAR("!", 0, "\nfolded line\nnext line\n * bullet\n\n * list\n * lines\n\nlast line\n");
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.12
|
||||
TEST EmptySeparationLines()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_12);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_SCALAR("!", 0, "\nfolded line\nnext line\n * bullet\n\n * list\n * lines\n\nlast line\n");
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.13
|
||||
TEST FinalEmptyLines()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_13);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_SCALAR("!", 0, "\nfolded line\nnext line\n * bullet\n\n * list\n * lines\n\nlast line\n");
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.14
|
||||
TEST BlockSequence()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_14);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "block sequence");
|
||||
EXPECT_SEQ_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "one");
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "two");
|
||||
EXPECT_SCALAR("?", 0, "three");
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_SEQ_END();
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.15
|
||||
TEST BlockSequenceEntryTypes()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_15);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_SEQ_START("?", 0);
|
||||
EXPECT_NULL(0);
|
||||
EXPECT_SCALAR("!", 0, "block node\n");
|
||||
EXPECT_SEQ_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "one");
|
||||
EXPECT_SCALAR("?", 0, "two");
|
||||
EXPECT_SEQ_END();
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "one");
|
||||
EXPECT_SCALAR("?", 0, "two");
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_SEQ_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.16
|
||||
TEST BlockMappings()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_16);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "block mapping");
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "key");
|
||||
EXPECT_SCALAR("?", 0, "value");
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.17
|
||||
TEST ExplicitBlockMappingEntries()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_17);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "explicit key");
|
||||
EXPECT_NULL(0);
|
||||
EXPECT_SCALAR("!", 0, "block key\n");
|
||||
EXPECT_SEQ_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "one");
|
||||
EXPECT_SCALAR("?", 0, "two");
|
||||
EXPECT_SEQ_END();
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.18
|
||||
TEST ImplicitBlockMappingEntries()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_18);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "plain key");
|
||||
EXPECT_SCALAR("?", 0, "in-line value");
|
||||
EXPECT_NULL(0);
|
||||
EXPECT_NULL(0);
|
||||
EXPECT_SCALAR("!", 0, "quoted key");
|
||||
EXPECT_SEQ_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "entry");
|
||||
EXPECT_SEQ_END();
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.19
|
||||
TEST CompactBlockMappings()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_19);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_SEQ_START("?", 0);
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "sun");
|
||||
EXPECT_SCALAR("?", 0, "yellow");
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "earth");
|
||||
EXPECT_SCALAR("?", 0, "blue");
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "moon");
|
||||
EXPECT_SCALAR("?", 0, "white");
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_SEQ_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.20
|
||||
TEST BlockNodeTypes()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_20);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_SEQ_START("?", 0);
|
||||
EXPECT_SCALAR("!", 0, "flow in block");
|
||||
EXPECT_SCALAR("!", 0, "Block scalar\n");
|
||||
EXPECT_MAP_START("tag:yaml.org,2002:map", 0);
|
||||
EXPECT_SCALAR("?", 0, "foo");
|
||||
EXPECT_SCALAR("?", 0, "bar");
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_SEQ_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.21
|
||||
TEST BlockScalarNodes()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_21);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "literal");
|
||||
EXPECT_SCALAR("!", 0, "value"); // Note: I believe this is a bug in the YAML spec - it should be "value\n"
|
||||
EXPECT_SCALAR("?", 0, "folded");
|
||||
EXPECT_SCALAR("!foo", 0, "value");
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
|
||||
// 8.22
|
||||
TEST BlockCollectionNodes()
|
||||
{
|
||||
return " not written yet";
|
||||
HANDLE(ex8_22);
|
||||
EXPECT_DOC_START();
|
||||
EXPECT_MAP_START("?", 0);
|
||||
EXPECT_SCALAR("?", 0, "sequence");
|
||||
EXPECT_SEQ_START("tag:yaml.org,2002:seq", 0);
|
||||
EXPECT_SCALAR("?", 0, "entry");
|
||||
EXPECT_SEQ_START("tag:yaml.org,2002:seq", 0);
|
||||
EXPECT_SCALAR("?", 0, "nested");
|
||||
EXPECT_SEQ_END();
|
||||
EXPECT_SEQ_END();
|
||||
EXPECT_SCALAR("?", 0, "mapping");
|
||||
EXPECT_MAP_START("tag:yaml.org,2002:map", 0);
|
||||
EXPECT_SCALAR("?", 0, "foo");
|
||||
EXPECT_SCALAR("?", 0, "bar");
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_MAP_END();
|
||||
EXPECT_DOC_END();
|
||||
DONE();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user