Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
9ed2971
Enable YAML 1.2 Chapter 8 examples
alex-thiessen-for-siemens Sep 7, 2026
9b75d05
Add node test for YAML 1.2 Example 2.19
alex-thiessen-for-siemens Sep 7, 2026
a888fe7
Add node test for YAML 1.2 Example 2.20
alex-thiessen-for-siemens Sep 7, 2026
e4b15af
Add node test for YAML 1.2 Example 2.21
alex-thiessen-for-siemens Sep 7, 2026
f1a1eaf
Add node test for YAML 1.2 Example 2.22
alex-thiessen-for-siemens Sep 7, 2026
db4dfeb
Add event-handler test for YAML 1.2 Example 5.1
alex-thiessen-for-siemens Sep 7, 2026
4b4fb01
Add node test for YAML 1.2 Example 5.1
alex-thiessen-for-siemens Sep 7, 2026
a00808b
Add event-handler test for YAML 1.2 Example 5.2
alex-thiessen-for-siemens Sep 7, 2026
4a5af30
Add node test for YAML 1.2 Example 5.2
alex-thiessen-for-siemens Sep 7, 2026
5b92b87
Add event-handler test for YAML 1.2 Example 5.9
alex-thiessen-for-siemens Sep 7, 2026
6a49dca
Add node test for YAML 1.2 Example 5.9
alex-thiessen-for-siemens Sep 7, 2026
7fda62b
Add event-handler test for YAML 1.2 Example 5.10
alex-thiessen-for-siemens Sep 7, 2026
1c0e565
Add node test for YAML 1.2 Example 5.10
alex-thiessen-for-siemens Sep 7, 2026
a0a95c5
Add event-handler test for YAML 1.2 Example 9.1
alex-thiessen-for-siemens Sep 7, 2026
18740f8
Add node test for YAML 1.2 Example 9.1
alex-thiessen-for-siemens Sep 7, 2026
b9487b3
Add event-handler test for YAML 1.2 Example 9.2
alex-thiessen-for-siemens Sep 7, 2026
b1605ca
Add node test for YAML 1.2 Example 9.2
alex-thiessen-for-siemens Sep 7, 2026
5fd378e
Add event-handler test for YAML 1.2 Example 9.3
alex-thiessen-for-siemens Sep 7, 2026
9527472
Add node test for YAML 1.2 Example 9.3
alex-thiessen-for-siemens Sep 7, 2026
cbff705
Add event-handler test for YAML 1.2 Example 9.4
alex-thiessen-for-siemens Sep 7, 2026
51a29bd
Add node test for YAML 1.2 Example 9.4
alex-thiessen-for-siemens Sep 7, 2026
fa62890
Add event-handler test for YAML 1.2 Example 9.5
alex-thiessen-for-siemens Sep 7, 2026
e60d7df
Add node test for YAML 1.2 Example 9.5
alex-thiessen-for-siemens Sep 7, 2026
0bde974
Add event-handler test for YAML 1.2 Example 9.6
alex-thiessen-for-siemens Sep 7, 2026
03e12a9
Add node test for YAML 1.2 Example 9.6
alex-thiessen-for-siemens Sep 7, 2026
a3c3518
Add event-handler test for YAML 1.2 Example 10.1
alex-thiessen-for-siemens Sep 7, 2026
56f0fd1
Add node test for YAML 1.2 Example 10.1
alex-thiessen-for-siemens Sep 7, 2026
664494a
Add event-handler test for YAML 1.2 Example 10.2
alex-thiessen-for-siemens Sep 7, 2026
cee5900
Add node test for YAML 1.2 Example 10.2
alex-thiessen-for-siemens Sep 7, 2026
6503f12
Add event-handler test for YAML 1.2 Example 10.3
alex-thiessen-for-siemens Sep 7, 2026
f288035
Add node test for YAML 1.2 Example 10.3
alex-thiessen-for-siemens Sep 7, 2026
02972f4
Add event-handler test for YAML 1.2 Example 10.4
alex-thiessen-for-siemens Sep 7, 2026
64a89f9
Add node test for YAML 1.2 Example 10.4
alex-thiessen-for-siemens Sep 7, 2026
a18f53a
Add event-handler test for YAML 1.2 Example 10.5
alex-thiessen-for-siemens Sep 7, 2026
079f550
Add node test for YAML 1.2 Example 10.5
alex-thiessen-for-siemens Sep 7, 2026
ce72108
Add event-handler test for YAML 1.2 Example 10.6
alex-thiessen-for-siemens Sep 7, 2026
ecd70c3
Add node test for YAML 1.2 Example 10.6
alex-thiessen-for-siemens Sep 7, 2026
1cbcb4d
Add event-handler test for YAML 1.2 Example 10.7
alex-thiessen-for-siemens Sep 7, 2026
46a2b4c
Add node test for YAML 1.2 Example 10.7
alex-thiessen-for-siemens Sep 7, 2026
a7b1c62
Add event-handler test for YAML 1.2 Example 10.8
alex-thiessen-for-siemens Sep 7, 2026
108a385
Add node test for YAML 1.2 Example 10.8
alex-thiessen-for-siemens Sep 7, 2026
f6543eb
Add event-handler test for YAML 1.2 Example 10.9
alex-thiessen-for-siemens Sep 7, 2026
b259845
Add node test for YAML 1.2 Example 10.9
alex-thiessen-for-siemens Sep 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
303 changes: 291 additions & 12 deletions test/integration/handler_spec_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -636,7 +636,11 @@ TEST_F(HandlerSpecTest, Ex2_28_LogFile) {
Parse(ex2_28);
}

// TODO: 5.1 - 5.2 BOM
TEST_F(HandlerSpecTest, Ex5_1_ByteOrderMark) { Parse(ex5_1); }

TEST_F(HandlerSpecTest, Ex5_2_InvalidByteOrderMark) {
EXPECT_THROW(IgnoreParse(ex5_2), ParserException);
}

TEST_F(HandlerSpecTest, Ex5_3_BlockStructureIndicators) {
EXPECT_CALL(handler, OnDocumentStart(_));
Expand Down Expand Up @@ -717,8 +721,16 @@ TEST_F(HandlerSpecTest, Ex5_8_QuotedScalarIndicators) {
Parse(ex5_8);
}

// TODO: 5.9 directive
// TODO: 5.10 reserved indicator
TEST_F(HandlerSpecTest, Ex5_9_DirectiveIndicator) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "text"));
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex5_9);
}

TEST_F(HandlerSpecTest, Ex5_10_InvalidUseOfReservedIndicators) {
EXPECT_THROW(IgnoreParse(ex5_10), ParserException);
}
Comment thread
alex-thiessen-for-siemens marked this conversation as resolved.

TEST_F(HandlerSpecTest, Ex5_11_LineBreakCharacters) {
EXPECT_CALL(handler, OnDocumentStart(_));
Expand Down Expand Up @@ -1440,17 +1452,15 @@ TEST_F(HandlerSpecTest, Ex8_4_ChompingFinalLineBreak) {
Parse(ex8_4);
}

TEST_F(HandlerSpecTest, DISABLED_Ex8_5_ChompingTrailingLines) {
TEST_F(HandlerSpecTest, Ex8_5_ChompingTrailingLines) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "strip"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "# text"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "clip"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "# text\n"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "keep"));
// NOTE: I believe this is a bug in the YAML spec -
// it should be "# text\n\n"
EXPECT_CALL(handler, OnScalar(_, "!", 0, "# text\n"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "# text\n\n"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex8_5);
Expand Down Expand Up @@ -1646,15 +1656,13 @@ TEST_F(HandlerSpecTest, Ex8_20_BlockNodeTypes) {
Parse(ex8_20);
}

TEST_F(HandlerSpecTest, DISABLED_Ex8_21_BlockScalarNodes) {
TEST_F(HandlerSpecTest, Ex8_21_BlockScalarNodes) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "literal"));
// NOTE: I believe this is a bug in the YAML spec
// - it should be "value\n"
EXPECT_CALL(handler, OnScalar(_, "!", 0, "value"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "value\n"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "folded"));
EXPECT_CALL(handler, OnScalar(_, "!foo", 0, "value"));
EXPECT_CALL(handler, OnScalar(_, "!foo", 0, "value\n"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex8_21);
Expand Down Expand Up @@ -1682,5 +1690,276 @@ TEST_F(HandlerSpecTest, Ex8_22_BlockCollectionNodes) {
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex8_22);
}

TEST_F(HandlerSpecTest, Ex9_1_DocumentPrefix) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Document"));
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex9_1);
}

TEST_F(HandlerSpecTest, Ex9_2_DocumentMarkers) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Document"));
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex9_2);
}

TEST_F(HandlerSpecTest, DISABLED_Ex9_3_BareDocuments) {
// SPEC_GAP: yaml-cpp rejects a bare literal document after an empty
// document marker.
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Bare document"));
EXPECT_CALL(handler, OnDocumentEnd());
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "%!PS-Adobe-2.0\n"));
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex9_3);
}

TEST_F(HandlerSpecTest, DISABLED_Ex9_4_ExplicitDocuments) {
// SPEC_GAP: yaml-cpp rejects the percent character in this flow key.
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "matches %"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "20"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex9_4);
}

TEST_F(HandlerSpecTest, DISABLED_Ex9_5_DirectivesDocuments) {
// SPEC_GAP: yaml-cpp rejects a directive document containing this literal
// block scalar.
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "%!PS-Adobe-2.0\n"));
EXPECT_CALL(handler, OnDocumentEnd());
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex9_5);
}

TEST_F(HandlerSpecTest, Ex9_6_Stream) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Document"));
EXPECT_CALL(handler, OnDocumentEnd());
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnDocumentEnd());
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "matches %"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "20"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex9_6);
}

TEST_F(HandlerSpecTest, Ex10_1_MapExamples) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Block style"));
EXPECT_CALL(handler,
OnMapStart(_, "tag:yaml.org,2002:map", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Clark"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Evans"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ingy"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "döt Net"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Oren"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ben-Kiki"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Flow style"));
EXPECT_CALL(handler,
OnMapStart(_, "tag:yaml.org,2002:map", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Clark"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Evans"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ingy"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "döt Net"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Oren"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ben-Kiki"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex10_1);
}

TEST_F(HandlerSpecTest, Ex10_2_SequenceExamples) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Block style"));
EXPECT_CALL(handler, OnSequenceStart(_, "tag:yaml.org,2002:seq", 0,
EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Clark Evans"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ingy döt Net"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Oren Ben-Kiki"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Flow style"));
EXPECT_CALL(handler, OnSequenceStart(_, "tag:yaml.org,2002:seq", 0,
EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Clark Evans"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ingy döt Net"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Oren Ben-Kiki"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex10_2);
}

TEST_F(HandlerSpecTest, Ex10_3_StringExamples) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Block style"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:str", 0,
"String: just a theory."));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Flow style"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:str", 0,
"String: just a theory."));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex10_3);
}

TEST_F(HandlerSpecTest, Ex10_4_NullExamples) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:null", 0, "null"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "value for null key"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "key with null value"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:null", 0, "null"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex10_4);
}

TEST_F(HandlerSpecTest, Ex10_5_BooleanExamples) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "YAML is a superset of JSON"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:bool", 0, "true"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Pluto is a planet"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:bool", 0, "false"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex10_5);
}

TEST_F(HandlerSpecTest, Ex10_6_IntegerExamples) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "negative"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:int", 0, "-12"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "zero"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:int", 0, "0"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "positive"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:int", 0, "34"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex10_6);
}

TEST_F(HandlerSpecTest, Ex10_7_FloatingPointExamples) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "negative"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:float", 0, "-1"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "zero"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:float", 0, "0"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "positive"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:float", 0, "2.3e4"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "infinity"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:float", 0, ".inf"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "not a number"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:float", 0, ".nan"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex10_7);
}

TEST_F(HandlerSpecTest, DISABLED_Ex10_8_JsonTagResolution) {
// SPEC_GAP: yaml-cpp emits "Null" as an implicit null event, while the
// YAML 1.2 JSON schema requires that value to remain a string scalar.
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "A null"));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Booleans"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "true"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "false"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Integers"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "-0"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "3"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "-19"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Floats"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0."));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "-0.0"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "12e03"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "-2E+05"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Invalid"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "True"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Null"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0o7"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0x3A"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "+12.3"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex10_8);
}

TEST_F(HandlerSpecTest, Ex10_9_CoreTagResolution) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "A null"));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Also a null"));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Not a null"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, ""));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Booleans"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "true"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "True"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "false"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "FALSE"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Integers"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0o7"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0x3A"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "-19"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Floats"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0."));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "-0.0"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, ".5"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "+12e03"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "-2E+05"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Also floats"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, ".inf"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "-.Inf"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "+.INF"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, ".NAN"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex10_9);
}

} // namespace
} // namespace YAML
Loading
Loading