mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 12:41:17 +00:00
Factored out spec examples, and sketched skeleton for spec tests for new API
This commit is contained in:
347
test/spectests.h
347
test/spectests.h
@@ -5,7 +5,354 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace Test {
|
||||
struct TEST {
|
||||
TEST(): ok(false) {}
|
||||
TEST(bool ok_): ok(ok_) {}
|
||||
TEST(const char *error_): ok(false), error(error_) {}
|
||||
|
||||
bool ok;
|
||||
std::string error;
|
||||
};
|
||||
|
||||
namespace Spec {
|
||||
// 2.1
|
||||
TEST SeqScalars();
|
||||
|
||||
// 2.2
|
||||
TEST MappingScalarsToScalars();
|
||||
|
||||
// 2.3
|
||||
TEST MappingScalarsToSequences();
|
||||
|
||||
// 2.4
|
||||
TEST SequenceOfMappings();
|
||||
|
||||
// 2.5
|
||||
TEST SequenceOfSequences();
|
||||
|
||||
// 2.6
|
||||
TEST MappingOfMappings();
|
||||
|
||||
// 2.7
|
||||
TEST TwoDocumentsInAStream();
|
||||
|
||||
// 2.8
|
||||
TEST PlayByPlayFeed();
|
||||
|
||||
// 2.9
|
||||
TEST SingleDocumentWithTwoComments();
|
||||
|
||||
// 2.10
|
||||
TEST SimpleAnchor();
|
||||
|
||||
// 2.11
|
||||
TEST MappingBetweenSequences();
|
||||
|
||||
// 2.12
|
||||
TEST CompactNestedMapping();
|
||||
|
||||
// 2.13
|
||||
TEST InLiteralsNewlinesArePreserved();
|
||||
|
||||
// 2.14
|
||||
TEST InFoldedScalarsNewlinesBecomeSpaces();
|
||||
|
||||
// 2.15
|
||||
TEST FoldedNewlinesArePreservedForMoreIndentedAndBlankLines();
|
||||
|
||||
// 2.16
|
||||
TEST IndentationDeterminesScope();
|
||||
|
||||
// 2.17
|
||||
TEST QuotedScalars();
|
||||
|
||||
// 2.18
|
||||
TEST MultiLineFlowScalars();
|
||||
|
||||
// TODO: 2.19 - 2.22 schema tags
|
||||
|
||||
// 2.23
|
||||
TEST VariousExplicitTags();
|
||||
|
||||
// 2.24
|
||||
TEST GlobalTags();
|
||||
|
||||
// 2.25
|
||||
TEST UnorderedSets();
|
||||
|
||||
// 2.26
|
||||
TEST OrderedMappings();
|
||||
|
||||
// 2.27
|
||||
TEST Invoice();
|
||||
|
||||
// 2.28
|
||||
TEST LogFile();
|
||||
|
||||
// TODO: 5.1 - 5.2 BOM
|
||||
|
||||
// 5.3
|
||||
TEST BlockStructureIndicators();
|
||||
|
||||
// 5.4
|
||||
TEST FlowStructureIndicators();
|
||||
|
||||
// 5.5
|
||||
TEST CommentIndicator();
|
||||
|
||||
// 5.6
|
||||
TEST NodePropertyIndicators();
|
||||
|
||||
// 5.7
|
||||
TEST BlockScalarIndicators();
|
||||
|
||||
// 5.8
|
||||
TEST QuotedScalarIndicators();
|
||||
|
||||
// TODO: 5.9 directive
|
||||
// TODO: 5.10 reserved indicator
|
||||
|
||||
// 5.11
|
||||
TEST LineBreakCharacters();
|
||||
|
||||
// 5.12
|
||||
TEST TabsAndSpaces();
|
||||
|
||||
// 5.13
|
||||
TEST EscapedCharacters();
|
||||
|
||||
// 5.14
|
||||
TEST InvalidEscapedCharacters();
|
||||
|
||||
// 6.1
|
||||
TEST IndentationSpaces();
|
||||
|
||||
// 6.2
|
||||
TEST IndentationIndicators();
|
||||
|
||||
// 6.3
|
||||
TEST SeparationSpaces();
|
||||
|
||||
// 6.4
|
||||
TEST LinePrefixes();
|
||||
|
||||
// 6.5
|
||||
TEST EmptyLines();
|
||||
|
||||
// 6.6
|
||||
TEST LineFolding();
|
||||
|
||||
// 6.7
|
||||
TEST BlockFolding();
|
||||
|
||||
// 6.8
|
||||
TEST FlowFolding();
|
||||
|
||||
// 6.9
|
||||
TEST SeparatedComment();
|
||||
|
||||
// 6.10
|
||||
TEST CommentLines();
|
||||
|
||||
// 6.11
|
||||
TEST MultiLineComments();
|
||||
|
||||
// 6.12
|
||||
TEST SeparationSpacesII();
|
||||
|
||||
// 6.13
|
||||
TEST ReservedDirectives();
|
||||
|
||||
// 6.14
|
||||
TEST YAMLDirective();
|
||||
|
||||
// 6.15
|
||||
TEST InvalidRepeatedYAMLDirective();
|
||||
|
||||
// 6.16
|
||||
TEST TagDirective();
|
||||
|
||||
// 6.17
|
||||
TEST InvalidRepeatedTagDirective();
|
||||
|
||||
// 6.18
|
||||
TEST PrimaryTagHandle();
|
||||
|
||||
// 6.19
|
||||
TEST SecondaryTagHandle();
|
||||
|
||||
// 6.20
|
||||
TEST TagHandles();
|
||||
|
||||
// 6.21
|
||||
TEST LocalTagPrefix();
|
||||
|
||||
// 6.22
|
||||
TEST GlobalTagPrefix();
|
||||
|
||||
// 6.23
|
||||
TEST NodeProperties();
|
||||
|
||||
// 6.24
|
||||
TEST VerbatimTags();
|
||||
|
||||
// 6.25
|
||||
TEST InvalidVerbatimTags();
|
||||
|
||||
// 6.26
|
||||
TEST TagShorthands();
|
||||
|
||||
// 6.27
|
||||
TEST InvalidTagShorthands();
|
||||
|
||||
// 6.28
|
||||
TEST NonSpecificTags();
|
||||
|
||||
// 6.29
|
||||
TEST NodeAnchors();
|
||||
|
||||
// 7.1
|
||||
TEST AliasNodes();
|
||||
|
||||
// 7.2
|
||||
TEST EmptyNodes();
|
||||
|
||||
// 7.3
|
||||
TEST CompletelyEmptyNodes();
|
||||
|
||||
// 7.4
|
||||
TEST DoubleQuotedImplicitKeys();
|
||||
|
||||
// 7.5
|
||||
TEST DoubleQuotedLineBreaks();
|
||||
|
||||
// 7.6
|
||||
TEST DoubleQuotedLines();
|
||||
|
||||
// 7.7
|
||||
TEST SingleQuotedCharacters();
|
||||
|
||||
// 7.8
|
||||
TEST SingleQuotedImplicitKeys();
|
||||
|
||||
// 7.9
|
||||
TEST SingleQuotedLines();
|
||||
|
||||
// 7.10
|
||||
TEST PlainCharacters();
|
||||
|
||||
// 7.11
|
||||
TEST PlainImplicitKeys();
|
||||
|
||||
// 7.12
|
||||
TEST PlainLines();
|
||||
|
||||
// 7.13
|
||||
TEST FlowSequence();
|
||||
|
||||
// 7.14
|
||||
TEST FlowSequenceEntries();
|
||||
|
||||
// 7.15
|
||||
TEST FlowMappings();
|
||||
|
||||
// 7.16
|
||||
TEST FlowMappingEntries();
|
||||
|
||||
// 7.17
|
||||
TEST FlowMappingSeparateValues();
|
||||
|
||||
// 7.18
|
||||
TEST FlowMappingAdjacentValues();
|
||||
|
||||
// 7.19
|
||||
TEST SinglePairFlowMappings();
|
||||
|
||||
// 7.20
|
||||
TEST SinglePairExplicitEntry();
|
||||
|
||||
// 7.21
|
||||
TEST SinglePairImplicitEntries();
|
||||
|
||||
// 7.22
|
||||
TEST InvalidImplicitKeys();
|
||||
|
||||
// 7.23
|
||||
TEST FlowContent();
|
||||
|
||||
// 7.24
|
||||
TEST FlowNodes();
|
||||
|
||||
// 8.1
|
||||
TEST BlockScalarHeader();
|
||||
|
||||
// 8.2
|
||||
TEST BlockIndentationHeader();
|
||||
|
||||
// 8.3
|
||||
TEST InvalidBlockScalarIndentationIndicators();
|
||||
|
||||
// 8.4
|
||||
TEST ChompingFinalLineBreak();
|
||||
|
||||
// 8.5
|
||||
TEST ChompingTrailingLines();
|
||||
|
||||
// 8.6
|
||||
TEST EmptyScalarChomping();
|
||||
|
||||
// 8.7
|
||||
TEST LiteralScalar();
|
||||
|
||||
// 8.8
|
||||
TEST LiteralContent();
|
||||
|
||||
// 8.9
|
||||
TEST FoldedScalar();
|
||||
|
||||
// 8.10
|
||||
TEST FoldedLines();
|
||||
|
||||
// 8.11
|
||||
TEST MoreIndentedLines();
|
||||
|
||||
// 8.12
|
||||
TEST EmptySeparationLines();
|
||||
|
||||
// 8.13
|
||||
TEST FinalEmptyLines();
|
||||
|
||||
// 8.14
|
||||
TEST BlockSequence();
|
||||
|
||||
// 8.15
|
||||
TEST BlockSequenceEntryTypes();
|
||||
|
||||
// 8.16
|
||||
TEST BlockMappings();
|
||||
|
||||
// 8.17
|
||||
TEST ExplicitBlockMappingEntries();
|
||||
|
||||
// 8.18
|
||||
TEST ImplicitBlockMappingEntries();
|
||||
|
||||
// 8.19
|
||||
TEST CompactBlockMappings();
|
||||
|
||||
// 8.20
|
||||
TEST BlockNodeTypes();
|
||||
|
||||
// 8.21
|
||||
TEST BlockScalarNodes();
|
||||
|
||||
// 8.22
|
||||
TEST BlockCollectionNodes();
|
||||
}
|
||||
|
||||
bool RunSpecTests();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user