Commit ad712c4f authored by Jesse Beder's avatar Jesse Beder
Browse files

Add EmitterStyle, which will allow sequence or map style (i.e., flow or block)...

Add EmitterStyle, which will allow sequence or map style (i.e., flow or block) to be preserved between parsing and emitting
parent a397ad29
......@@ -10,6 +10,7 @@
#include <stack>
#include "yaml-cpp/anchor.h"
#include "yaml-cpp/emitterstyle.h"
#include "yaml-cpp/eventhandler.h"
namespace YAML {
......@@ -32,11 +33,11 @@ class EmitFromEvents : public EventHandler {
anchor_t anchor, const std::string& value);
virtual void OnSequenceStart(const Mark& mark, const std::string& tag,
anchor_t anchor);
anchor_t anchor, EmitterStyle::value style);
virtual void OnSequenceEnd();
virtual void OnMapStart(const Mark& mark, const std::string& tag,
anchor_t anchor);
anchor_t anchor, EmitterStyle::value style);
virtual void OnMapEnd();
private:
......
#ifndef EMITTERSTYLE_H_62B23520_7C8E_11DE_8A39_0800200C9A66
#define EMITTERSTYLE_H_62B23520_7C8E_11DE_8A39_0800200C9A66
#if defined(_MSC_VER) || \
(defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \
(__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4
#pragma once
#endif
namespace YAML {
struct EmitterStyle {
enum value {
Default,
Block,
Flow,
};
};
}
#endif // EMITTERSTYLE_H_62B23520_7C8E_11DE_8A39_0800200C9A66
......@@ -7,9 +7,11 @@
#pragma once
#endif
#include "yaml-cpp/anchor.h"
#include <string>
#include "yaml-cpp/anchor.h"
#include "yaml-cpp/emitterstyle.h"
namespace YAML {
struct Mark;
......@@ -26,11 +28,11 @@ class EventHandler {
anchor_t anchor, const std::string& value) = 0;
virtual void OnSequenceStart(const Mark& mark, const std::string& tag,
anchor_t anchor) = 0;
anchor_t anchor, EmitterStyle::value style) = 0;
virtual void OnSequenceEnd() = 0;
virtual void OnMapStart(const Mark& mark, const std::string& tag,
anchor_t anchor) = 0;
anchor_t anchor, EmitterStyle::value style) = 0;
virtual void OnMapEnd() = 0;
};
}
......
......@@ -9,6 +9,7 @@
#include "yaml-cpp/parser.h"
#include "yaml-cpp/emitter.h"
#include "yaml-cpp/emitterstyle.h"
#include "yaml-cpp/stlemitter.h"
#include "yaml-cpp/exceptions.h"
......
......@@ -60,7 +60,8 @@ static const unsigned char decoding[] = {
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, };
255,
};
std::vector<unsigned char> DecodeBase64(const std::string &input) {
typedef std::vector<unsigned char> ret_type;
......
......@@ -30,7 +30,8 @@ void GraphBuilderAdapter::OnScalar(const Mark &mark, const std::string &tag,
void GraphBuilderAdapter::OnSequenceStart(const Mark &mark,
const std::string &tag,
anchor_t anchor) {
anchor_t anchor,
EmitterStyle::value style) {
void *pNode = m_builder.NewSequence(mark, tag, GetCurrentParent());
m_containers.push(ContainerFrame(pNode));
RegisterAnchor(anchor, pNode);
......@@ -44,7 +45,8 @@ void GraphBuilderAdapter::OnSequenceEnd() {
}
void GraphBuilderAdapter::OnMapStart(const Mark &mark, const std::string &tag,
anchor_t anchor) {
anchor_t anchor,
EmitterStyle::value style) {
void *pNode = m_builder.NewMap(mark, tag, GetCurrentParent());
m_containers.push(ContainerFrame(pNode, m_pKeyNode));
m_pKeyNode = NULL;
......
......@@ -14,6 +14,7 @@
#include "yaml-cpp/anchor.h"
#include "yaml-cpp/contrib/anchordict.h"
#include "yaml-cpp/contrib/graphbuilder.h"
#include "yaml-cpp/emitterstyle.h"
#include "yaml-cpp/eventhandler.h"
namespace YAML {
......@@ -36,11 +37,11 @@ class GraphBuilderAdapter : public EventHandler {
anchor_t anchor, const std::string& value);
virtual void OnSequenceStart(const Mark& mark, const std::string& tag,
anchor_t anchor);
anchor_t anchor, EmitterStyle::value style);
virtual void OnSequenceEnd();
virtual void OnMapStart(const Mark& mark, const std::string& tag,
anchor_t anchor);
anchor_t anchor, EmitterStyle::value style);
virtual void OnMapEnd();
void* RootNode() const { return m_pRootNode; }
......
......@@ -44,9 +44,20 @@ void EmitFromEvents::OnScalar(const Mark&, const std::string& tag,
}
void EmitFromEvents::OnSequenceStart(const Mark&, const std::string& tag,
anchor_t anchor) {
anchor_t anchor,
EmitterStyle::value style) {
BeginNode();
EmitProps(tag, anchor);
switch (style) {
case EmitterStyle::Block:
m_emitter << Block;
break;
case EmitterStyle::Flow:
m_emitter << Flow;
break;
default:
break;
}
m_emitter << BeginSeq;
m_stateStack.push(State::WaitingForSequenceEntry);
}
......@@ -58,9 +69,19 @@ void EmitFromEvents::OnSequenceEnd() {
}
void EmitFromEvents::OnMapStart(const Mark&, const std::string& tag,
anchor_t anchor) {
anchor_t anchor, EmitterStyle::value style) {
BeginNode();
EmitProps(tag, anchor);
switch (style) {
case EmitterStyle::Block:
m_emitter << Block;
break;
case EmitterStyle::Flow:
m_emitter << Flow;
break;
default:
break;
}
m_emitter << BeginMap;
m_stateStack.push(State::WaitingForKey);
}
......
......@@ -16,7 +16,7 @@ RegEx::RegEx(const std::string& str, REGEX_OP op) : m_op(op) {
}
// combination constructors
RegEx operator!(const RegEx & ex) {
RegEx operator!(const RegEx& ex) {
RegEx ret(REGEX_NOT);
ret.m_params.push_back(ex);
return ret;
......
......@@ -34,7 +34,7 @@ class RegEx {
RegEx(const std::string& str, REGEX_OP op = REGEX_SEQ);
~RegEx() {}
friend RegEx operator!(const RegEx & ex);
friend RegEx operator!(const RegEx& ex);
friend RegEx operator||(const RegEx& ex1, const RegEx& ex2);
friend RegEx operator&&(const RegEx& ex1, const RegEx& ex2);
friend RegEx operator+(const RegEx& ex1, const RegEx& ex2);
......
......@@ -317,8 +317,9 @@ void Scanner::PopIndentToHere() {
const IndentMarker& indent = *m_indents.top();
if (indent.column < INPUT.column())
break;
if (indent.column == INPUT.column() && !(indent.type == IndentMarker::SEQ &&
!Exp::BlockEntry().Matches(INPUT)))
if (indent.column == INPUT.column() &&
!(indent.type == IndentMarker::SEQ &&
!Exp::BlockEntry().Matches(INPUT)))
break;
PopIndent();
......
......@@ -7,6 +7,7 @@
#include "singledocparser.h"
#include "tag.h"
#include "token.h"
#include "yaml-cpp/emitterstyle.h"
#include "yaml-cpp/eventhandler.h"
#include "yaml-cpp/exceptions.h" // IWYU pragma: keep
#include "yaml-cpp/mark.h"
......@@ -55,7 +56,7 @@ void SingleDocParser::HandleNode(EventHandler& eventHandler) {
// special case: a value node by itself must be a map, with no header
if (m_scanner.peek().type == Token::VALUE) {
eventHandler.OnMapStart(mark, "?", NullAnchor);
eventHandler.OnMapStart(mark, "?", NullAnchor, EmitterStyle::Default);
HandleMap(eventHandler);
eventHandler.OnMapEnd();
return;
......@@ -92,14 +93,22 @@ void SingleDocParser::HandleNode(EventHandler& eventHandler) {
m_scanner.pop();
return;
case Token::FLOW_SEQ_START:
eventHandler.OnSequenceStart(mark, tag, anchor, EmitterStyle::Flow);
HandleSequence(eventHandler);
eventHandler.OnSequenceEnd();
return;
case Token::BLOCK_SEQ_START:
eventHandler.OnSequenceStart(mark, tag, anchor);
eventHandler.OnSequenceStart(mark, tag, anchor, EmitterStyle::Block);
HandleSequence(eventHandler);
eventHandler.OnSequenceEnd();
return;
case Token::FLOW_MAP_START:
eventHandler.OnMapStart(mark, tag, anchor, EmitterStyle::Flow);
HandleMap(eventHandler);
eventHandler.OnMapEnd();
return;
case Token::BLOCK_MAP_START:
eventHandler.OnMapStart(mark, tag, anchor);
eventHandler.OnMapStart(mark, tag, anchor, EmitterStyle::Block);
HandleMap(eventHandler);
eventHandler.OnMapEnd();
return;
......@@ -107,7 +116,7 @@ void SingleDocParser::HandleNode(EventHandler& eventHandler) {
// compact maps can only go in a flow sequence
if (m_pCollectionStack->GetCurCollectionType() ==
CollectionType::FlowSeq) {
eventHandler.OnMapStart(mark, tag, anchor);
eventHandler.OnMapStart(mark, tag, anchor, EmitterStyle::Flow);
HandleMap(eventHandler);
eventHandler.OnMapEnd();
return;
......
......@@ -7,7 +7,7 @@
#endif
#define S_ARRAY_SIZE(A) (sizeof(A) / sizeof(*(A)))
#define S_ARRAY_END(A) ((A) + S_ARRAY_SIZE(A))
#define S_ARRAY_END(A) ((A)+S_ARRAY_SIZE(A))
#define CP_REPLACEMENT_CHARACTER (0xFFFD)
......@@ -46,25 +46,26 @@ enum UtfIntroCharType {
uictMax
};
static bool s_introFinalState[] = {false, // uis_start
false, // uis_utfbe_b1
false, // uis_utf32be_b2
false, // uis_utf32be_bom3
true, // uis_utf32be
true, // uis_utf16be
false, // uis_utf16be_bom1
false, // uis_utfle_bom1
false, // uis_utf16le_bom2
false, // uis_utf32le_bom3
true, // uis_utf16le
true, // uis_utf32le
false, // uis_utf8_imp
false, // uis_utf16le_imp
false, // uis_utf32le_imp3
false, // uis_utf8_bom1
false, // uis_utf8_bom2
true, // uis_utf8
true, // uis_error
static bool s_introFinalState[] = {
false, // uis_start
false, // uis_utfbe_b1
false, // uis_utf32be_b2
false, // uis_utf32be_bom3
true, // uis_utf32be
true, // uis_utf16be
false, // uis_utf16be_bom1
false, // uis_utfle_bom1
false, // uis_utf16le_bom2
false, // uis_utf32le_bom3
true, // uis_utf16le
true, // uis_utf32le
false, // uis_utf8_imp
false, // uis_utf16le_imp
false, // uis_utf32le_imp3
false, // uis_utf8_bom1
false, // uis_utf8_bom2
true, // uis_utf8
true, // uis_error
};
static UtfIntroState s_introTransitions[][uictMax] = {
......@@ -105,7 +106,8 @@ static UtfIntroState s_introTransitions[][uictMax] = {
{uis_utf8, uis_utf8, uis_utf8, uis_utf8, uis_utf8, uis_utf8, uis_utf8,
uis_utf8},
{uis_utf8, uis_utf8, uis_utf8, uis_utf8, uis_utf8, uis_utf8, uis_utf8,
uis_utf8}, };
uis_utf8},
};
static char s_introUngetCount[][uictMax] = {
// uict00, uictBB, uictBF, uictEF, uictFE, uictFF, uictAscii, uictOther
......@@ -126,7 +128,8 @@ static char s_introUngetCount[][uictMax] = {
{4, 4, 4, 4, 4, 4, 4, 4},
{2, 0, 2, 2, 2, 2, 2, 2},
{3, 3, 0, 3, 3, 3, 3, 3},
{1, 1, 1, 1, 1, 1, 1, 1}, };
{1, 1, 1, 1, 1, 1, 1, 1},
};
inline UtfIntroCharType IntroCharTypeOf(std::istream::int_type ch) {
if (std::istream::traits_type::eof() == ch) {
......
......@@ -52,7 +52,7 @@ def scalar(value, tag='', anchor='', anchor_id=0):
def comment(value):
return {'emit': 'Comment("%s")' % value, 'handle': ''}
def seq_start(tag='', anchor='', anchor_id=0):
def seq_start(tag='', anchor='', anchor_id=0, style='_'):
emit = []
if tag:
emit += ['VerbatimTag("%s")' % encode(tag)]
......@@ -63,12 +63,12 @@ def seq_start(tag='', anchor='', anchor_id=0):
else:
out_tag = '?'
emit += ['BeginSeq']
return {'emit': emit, 'handle': 'OnSequenceStart(_, "%s", %s)' % (out_tag, anchor_id)}
return {'emit': emit, 'handle': 'OnSequenceStart(_, "%s", %s, %s)' % (out_tag, anchor_id, style)}
def seq_end():
return {'emit': 'EndSeq', 'handle': 'OnSequenceEnd()'}
def map_start(tag='', anchor='', anchor_id=0):
def map_start(tag='', anchor='', anchor_id=0, style='_'):
emit = []
if tag:
emit += ['VerbatimTag("%s")' % encode(tag)]
......@@ -79,7 +79,7 @@ def map_start(tag='', anchor='', anchor_id=0):
else:
out_tag = '?'
emit += ['BeginMap']
return {'emit': emit, 'handle': 'OnMapStart(_, "%s", %s)' % (out_tag, anchor_id)}
return {'emit': emit, 'handle': 'OnMapStart(_, "%s", %s, %s)' % (out_tag, anchor_id, style)}
def map_end():
return {'emit': 'EndMap', 'handle': 'OnMapEnd()'}
......
#include "yaml-cpp/emitterstyle.h"
#include "yaml-cpp/eventhandler.h"
#include "yaml-cpp/yaml.h" // IWYU pragma: keep
#include "gtest/gtest.h"
......@@ -14,10 +15,12 @@ class NullEventHandler : public EventHandler {
virtual void OnScalar(const Mark&, const std::string&, anchor_t,
const std::string&) {}
virtual void OnSequenceStart(const Mark&, const std::string&, anchor_t) {}
virtual void OnSequenceStart(const Mark&, const std::string&, anchor_t,
EmitterStyle::value style) {}
virtual void OnSequenceEnd() {}
virtual void OnMapStart(const Mark&, const std::string&, anchor_t) {}
virtual void OnMapStart(const Mark&, const std::string&, anchor_t,
EmitterStyle::value style) {}
virtual void OnMapEnd() {}
};
......@@ -775,13 +778,13 @@ TEST_F(EmitterTest, Binary) {
TEST_F(EmitterTest, LongBinary) {
out << Binary(
reinterpret_cast<const unsigned char*>(
"Man is distinguished, not only by his reason, but by this "
"singular passion from other animals, which is a lust of the "
"mind, that by a perseverance of delight in the continued and "
"indefatigable generation of knowledge, exceeds the short "
"vehemence of any carnal pleasure.\n"),
270);
reinterpret_cast<const unsigned char*>(
"Man is distinguished, not only by his reason, but by this "
"singular passion from other animals, which is a lust of the "
"mind, that by a perseverance of delight in the continued and "
"indefatigable generation of knowledge, exceeds the short "
"vehemence of any carnal pleasure.\n"),
270);
ExpectEmit(
"!!binary "
"\"TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieS"
......
......@@ -95,7 +95,7 @@ class EncodingTest : public HandlerTest {
void Run() {
InSequence sequence;
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
for (std::size_t i = 0; i < m_entries.size(); i++) {
EXPECT_CALL(handler, OnScalar(_, "!", 0, m_entries[i]));
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -11,8 +11,7 @@ using ::testing::_;
ASSERT_THROW(statement, ParserException); \
try { \
statement; \
} \
catch (const ParserException& e) { \
} catch (const ParserException& e) { \
EXPECT_EQ(e.msg, message); \
}
......@@ -23,7 +22,7 @@ typedef HandlerTest HandlerSpecTest;
TEST_F(HandlerSpecTest, Ex2_1_SeqScalars) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Mark McGwire"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ken Griffey"));
......@@ -34,7 +33,7 @@ TEST_F(HandlerSpecTest, Ex2_1_SeqScalars) {
TEST_F(HandlerSpecTest, Ex2_2_MappingScalarsToScalars) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "hr"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "65"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "avg"));
......@@ -48,15 +47,15 @@ TEST_F(HandlerSpecTest, Ex2_2_MappingScalarsToScalars) {
TEST_F(HandlerSpecTest, Ex2_3_MappingScalarsToSequences) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "american"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Boston Red Sox"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Detroit Tigers"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "New York Yankees"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "national"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "New York Mets"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Chicago Cubs"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Atlanta Braves"));
......@@ -68,8 +67,8 @@ TEST_F(HandlerSpecTest, Ex2_3_MappingScalarsToSequences) {
TEST_F(HandlerSpecTest, Ex2_4_SequenceOfMappings) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "name"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Mark McGwire"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "hr"));
......@@ -77,7 +76,7 @@ TEST_F(HandlerSpecTest, Ex2_4_SequenceOfMappings) {
EXPECT_CALL(handler, OnScalar(_, "?", 0, "avg"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0.278"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "name"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "hr"));
......@@ -92,18 +91,18 @@ TEST_F(HandlerSpecTest, Ex2_4_SequenceOfMappings) {
TEST_F(HandlerSpecTest, Ex2_5_SequenceOfSequences) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "name"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "hr"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "avg"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Mark McGwire"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "65"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0.278"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "63"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0.288"));
......@@ -115,16 +114,16 @@ TEST_F(HandlerSpecTest, Ex2_5_SequenceOfSequences) {
TEST_F(HandlerSpecTest, Ex2_6_MappingOfMappings) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Mark McGwire"));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "hr"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "65"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "avg"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0.278"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa"));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "hr"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "63"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "avg"));
......@@ -137,14 +136,14 @@ TEST_F(HandlerSpecTest, Ex2_6_MappingOfMappings) {
TEST_F(HandlerSpecTest, Ex2_7_TwoDocumentsInAStream) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Mark McGwire"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ken Griffey"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnDocumentEnd());
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Chicago Cubs"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "St Louis Cardinals"));
EXPECT_CALL(handler, OnSequenceEnd());
......@@ -154,7 +153,7 @@ TEST_F(HandlerSpecTest, Ex2_7_TwoDocumentsInAStream) {
TEST_F(HandlerSpecTest, Ex2_8_PlayByPlayFeed) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "time"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "20:03:20"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "player"));
......@@ -164,7 +163,7 @@ TEST_F(HandlerSpecTest, Ex2_8_PlayByPlayFeed) {
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "time"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "20:03:47"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "player"));
......@@ -178,14 +177,14 @@ TEST_F(HandlerSpecTest, Ex2_8_PlayByPlayFeed) {
TEST_F(HandlerSpecTest, Ex2_9_SingleDocumentWithTwoComments) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "hr"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Mark McGwire"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "rbi"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ken Griffey"));
EXPECT_CALL(handler, OnSequenceEnd());
......@@ -196,14 +195,14 @@ TEST_F(HandlerSpecTest, Ex2_9_SingleDocumentWithTwoComments) {
TEST_F(HandlerSpecTest, Ex2_10_SimpleAnchor) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "hr"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Mark McGwire"));
EXPECT_CALL(handler, OnScalar(_, "?", 1, "Sammy Sosa"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "rbi"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnAlias(_, 1));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ken Griffey"));
EXPECT_CALL(handler, OnSequenceEnd());
......@@ -214,19 +213,19 @@ TEST_F(HandlerSpecTest, Ex2_10_SimpleAnchor) {
TEST_F(HandlerSpecTest, Ex2_11_MappingBetweenSequences) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Detroit Tigers"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Chicago cubs"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "2001-07-23"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "New York Yankees"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Atlanta Braves"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "2001-07-02"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "2001-08-12"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "2001-08-14"));
......@@ -238,20 +237,20 @@ TEST_F(HandlerSpecTest, Ex2_11_MappingBetweenSequences) {
TEST_F(HandlerSpecTest, Ex2_12_CompactNestedMapping) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "item"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Super Hoop"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "quantity"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "1"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "item"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Basketball"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "quantity"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "4"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "item"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Big Shoes"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "quantity"));
......@@ -298,7 +297,7 @@ TEST_F(HandlerSpecTest,
TEST_F(HandlerSpecTest, Ex2_16_IndentationDeterminesScope) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "name"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Mark McGwire"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "accomplishment"));
......@@ -316,7 +315,7 @@ TEST_F(HandlerSpecTest, Ex2_16_IndentationDeterminesScope) {
TEST_F(HandlerSpecTest, Ex2_17_QuotedScalars) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "unicode"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "Sosa did fine.\xE2\x98\xBA"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "control"));
......@@ -336,7 +335,7 @@ TEST_F(HandlerSpecTest, Ex2_17_QuotedScalars) {
TEST_F(HandlerSpecTest, Ex2_18_MultiLineFlowScalars) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "plain"));
EXPECT_CALL(handler,
OnScalar(_, "?", 0, "This unquoted scalar spans many lines."));
......@@ -351,7 +350,7 @@ TEST_F(HandlerSpecTest, Ex2_18_MultiLineFlowScalars) {
TEST_F(HandlerSpecTest, Ex2_23_VariousExplicitTags) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "not-date"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:str", 0, "2002-04-28"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "picture"));
......@@ -372,10 +371,12 @@ TEST_F(HandlerSpecTest, Ex2_23_VariousExplicitTags) {
TEST_F(HandlerSpecTest, Ex2_24_GlobalTags) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "tag:clarkevans.com,2002:shape", 0));
EXPECT_CALL(handler, OnMapStart(_, "tag:clarkevans.com,2002:circle", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "tag:clarkevans.com,2002:shape", 0,
EmitterStyle::Block));
EXPECT_CALL(handler, OnMapStart(_, "tag:clarkevans.com,2002:circle", 0,
EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "center"));
EXPECT_CALL(handler, OnMapStart(_, "?", 1));
EXPECT_CALL(handler, OnMapStart(_, "?", 1, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "x"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "73"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "y"));
......@@ -384,18 +385,20 @@ TEST_F(HandlerSpecTest, Ex2_24_GlobalTags) {
EXPECT_CALL(handler, OnScalar(_, "?", 0, "radius"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "7"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapStart(_, "tag:clarkevans.com,2002:line", 0));
EXPECT_CALL(handler, OnMapStart(_, "tag:clarkevans.com,2002:line", 0,
EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "start"));
EXPECT_CALL(handler, OnAlias(_, 1));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "finish"));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "x"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "89"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "y"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "102"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapStart(_, "tag:clarkevans.com,2002:label", 0));
EXPECT_CALL(handler, OnMapStart(_, "tag:clarkevans.com,2002:label", 0,
EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "start"));
EXPECT_CALL(handler, OnAlias(_, 1));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "color"));
......@@ -410,7 +413,8 @@ TEST_F(HandlerSpecTest, Ex2_24_GlobalTags) {
TEST_F(HandlerSpecTest, Ex2_25_UnorderedSets) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "tag:yaml.org,2002:set", 0));
EXPECT_CALL(handler,
OnMapStart(_, "tag:yaml.org,2002:set", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Mark McGwire"));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa"));
......@@ -424,16 +428,17 @@ TEST_F(HandlerSpecTest, Ex2_25_UnorderedSets) {
TEST_F(HandlerSpecTest, Ex2_26_OrderedMappings) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "tag:yaml.org,2002:omap", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "tag:yaml.org,2002:omap", 0,
EmitterStyle::Block));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Mark McGwire"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "65"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "63"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ken Griffey"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "58"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -444,19 +449,20 @@ TEST_F(HandlerSpecTest, Ex2_26_OrderedMappings) {
TEST_F(HandlerSpecTest, Ex2_27_Invoice) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "tag:clarkevans.com,2002:invoice", 0));
EXPECT_CALL(handler, OnMapStart(_, "tag:clarkevans.com,2002:invoice", 0,
EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "invoice"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "34843"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "date"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "2001-01-23"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "bill-to"));
EXPECT_CALL(handler, OnMapStart(_, "?", 1));
EXPECT_CALL(handler, OnMapStart(_, "?", 1, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "given"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Chris"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "family"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Dumars"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "address"));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "lines"));
EXPECT_CALL(handler, OnScalar(_, "!", 0,
"458 Walkman Dr.\n"
......@@ -472,8 +478,8 @@ TEST_F(HandlerSpecTest, Ex2_27_Invoice) {
EXPECT_CALL(handler, OnScalar(_, "?", 0, "ship-to"));
EXPECT_CALL(handler, OnAlias(_, 1));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "product"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "sku"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "BL394D"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "quantity"));
......@@ -483,7 +489,7 @@ TEST_F(HandlerSpecTest, Ex2_27_Invoice) {
EXPECT_CALL(handler, OnScalar(_, "?", 0, "price"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "450.00"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "sku"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "BL4438H"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "quantity"));
......@@ -509,7 +515,7 @@ TEST_F(HandlerSpecTest, Ex2_27_Invoice) {
TEST_F(HandlerSpecTest, Ex2_28_LogFile) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Time"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "2001-11-23 15:01:42 -5"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "User"));
......@@ -520,7 +526,7 @@ TEST_F(HandlerSpecTest, Ex2_28_LogFile) {
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Time"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "2001-11-23 15:02:31 -5"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "User"));
......@@ -531,7 +537,7 @@ TEST_F(HandlerSpecTest, Ex2_28_LogFile) {
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Date"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "2001-11-23 15:03:17 -5"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "User"));
......@@ -539,8 +545,8 @@ TEST_F(HandlerSpecTest, Ex2_28_LogFile) {
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Fatal"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Unknown variable \"bar\""));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Stack"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "file"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "TopClass.py"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "line"));
......@@ -548,7 +554,7 @@ TEST_F(HandlerSpecTest, Ex2_28_LogFile) {
EXPECT_CALL(handler, OnScalar(_, "?", 0, "code"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "x = MoreObject(\"345\\n\")\n"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "file"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "MoreClass.py"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "line"));
......@@ -566,14 +572,14 @@ TEST_F(HandlerSpecTest, Ex2_28_LogFile) {
TEST_F(HandlerSpecTest, Ex5_3_BlockStructureIndicators) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "sequence"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "one"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "two"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "mapping"));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "sky"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "blue"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "sea"));
......@@ -586,14 +592,14 @@ TEST_F(HandlerSpecTest, Ex5_3_BlockStructureIndicators) {
TEST_F(HandlerSpecTest, Ex5_4_FlowStructureIndicators) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "sequence"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "one"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "two"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "mapping"));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "sky"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "blue"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "sea"));
......@@ -608,7 +614,7 @@ TEST_F(HandlerSpecTest, Ex5_5_CommentIndicator) { Parse(ex5_5); }
TEST_F(HandlerSpecTest, Ex5_6_NodePropertyIndicators) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "anchored"));
EXPECT_CALL(handler, OnScalar(_, "!local", 1, "value"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "alias"));
......@@ -620,7 +626,7 @@ TEST_F(HandlerSpecTest, Ex5_6_NodePropertyIndicators) {
TEST_F(HandlerSpecTest, Ex5_7_BlockScalarIndicators) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "literal"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "some\ntext\n"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "folded"));
......@@ -632,7 +638,7 @@ TEST_F(HandlerSpecTest, Ex5_7_BlockScalarIndicators) {
TEST_F(HandlerSpecTest, Ex5_8_QuotedScalarIndicators) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "single"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "text"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "double"));
......@@ -656,7 +662,7 @@ TEST_F(HandlerSpecTest, Ex5_11_LineBreakCharacters) {
TEST_F(HandlerSpecTest, Ex5_12_TabsAndSpaces) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "quoted"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "Quoted\t"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "block"));
......@@ -688,13 +694,13 @@ TEST_F(HandlerSpecTest, Ex5_14_InvalidEscapedCharacters) {
TEST_F(HandlerSpecTest, Ex6_1_IndentationSpaces) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Not indented"));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "By one space"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "By four\n spaces\n"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Flow style"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "By two"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Also by two"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Still by two"));
......@@ -707,11 +713,11 @@ TEST_F(HandlerSpecTest, Ex6_1_IndentationSpaces) {
TEST_F(HandlerSpecTest, Ex6_2_IndentationIndicators) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "a"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "b"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "c"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "d"));
EXPECT_CALL(handler, OnSequenceEnd());
......@@ -723,12 +729,12 @@ TEST_F(HandlerSpecTest, Ex6_2_IndentationIndicators) {
TEST_F(HandlerSpecTest, Ex6_3_SeparationSpaces) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "foo"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "bar"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "baz"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "baz"));
EXPECT_CALL(handler, OnSequenceEnd());
......@@ -739,7 +745,7 @@ TEST_F(HandlerSpecTest, Ex6_3_SeparationSpaces) {
TEST_F(HandlerSpecTest, Ex6_4_LinePrefixes) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "plain"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "text lines"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "quoted"));
......@@ -753,7 +759,7 @@ TEST_F(HandlerSpecTest, Ex6_4_LinePrefixes) {
TEST_F(HandlerSpecTest, Ex6_5_EmptyLines) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Folding"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "Empty line\nas a line feed"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Chomping"));
......@@ -786,7 +792,7 @@ TEST_F(HandlerSpecTest, Ex6_8_FlowFolding) {
TEST_F(HandlerSpecTest, Ex6_9_SeparatedComment) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "key"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "value"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -798,7 +804,7 @@ TEST_F(HandlerSpecTest, Ex6_10_CommentLines) { Parse(ex6_10); }
TEST_F(HandlerSpecTest, _MultiLineComments) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "key"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "value"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -808,14 +814,14 @@ TEST_F(HandlerSpecTest, _MultiLineComments) {
TEST_F(HandlerSpecTest, Ex6_12_SeparationSpacesII) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "first"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "last"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sosa"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "hr"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "65"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "avg"));
......@@ -893,7 +899,7 @@ TEST_F(HandlerSpecTest, Ex6_21_LocalTagPrefix) {
TEST_F(HandlerSpecTest, Ex6_22_GlobalTagPrefix) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "tag:example.com,2000:app/foo", 0, "bar"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnDocumentEnd());
......@@ -902,7 +908,7 @@ TEST_F(HandlerSpecTest, Ex6_22_GlobalTagPrefix) {
TEST_F(HandlerSpecTest, Ex6_23_NodeProperties) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:str", 1, "foo"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:str", 0, "bar"));
EXPECT_CALL(handler, OnScalar(_, "?", 2, "baz"));
......@@ -914,7 +920,7 @@ TEST_F(HandlerSpecTest, Ex6_23_NodeProperties) {
TEST_F(HandlerSpecTest, Ex6_24_VerbatimTags) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:str", 0, "foo"));
EXPECT_CALL(handler, OnScalar(_, "!bar", 0, "baz"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -930,7 +936,7 @@ TEST_F(HandlerSpecTest, DISABLED_Ex6_25_InvalidVerbatimTags) {
TEST_F(HandlerSpecTest, Ex6_26_TagShorthands) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "!local", 0, "foo"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:str", 0, "bar"));
EXPECT_CALL(handler,
......@@ -953,7 +959,7 @@ TEST_F(HandlerSpecTest, DISABLED_Ex6_27b_InvalidTagShorthands) {
TEST_F(HandlerSpecTest, Ex6_28_NonSpecificTags) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "12"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "12"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "12"));
......@@ -964,7 +970,7 @@ TEST_F(HandlerSpecTest, Ex6_28_NonSpecificTags) {
TEST_F(HandlerSpecTest, Ex6_29_NodeAnchors) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "First occurrence"));
EXPECT_CALL(handler, OnScalar(_, "?", 1, "Value"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Second occurrence"));
......@@ -976,7 +982,7 @@ TEST_F(HandlerSpecTest, Ex6_29_NodeAnchors) {
TEST_F(HandlerSpecTest, Ex7_1_AliasNodes) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "First occurrence"));
EXPECT_CALL(handler, OnScalar(_, "?", 1, "Foo"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Second occurrence"));
......@@ -992,7 +998,7 @@ TEST_F(HandlerSpecTest, Ex7_1_AliasNodes) {
TEST_F(HandlerSpecTest, Ex7_2_EmptyNodes) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "foo"));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:str", 0, ""));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:str", 0, ""));
......@@ -1004,7 +1010,7 @@ TEST_F(HandlerSpecTest, Ex7_2_EmptyNodes) {
TEST_F(HandlerSpecTest, Ex7_3_CompletelyEmptyNodes) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "foo"));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnNull(_, 0));
......@@ -1016,10 +1022,10 @@ TEST_F(HandlerSpecTest, Ex7_3_CompletelyEmptyNodes) {
TEST_F(HandlerSpecTest, Ex7_4_DoubleQuotedImplicitKeys) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "implicit block key"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "implicit flow key"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "value"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -1057,10 +1063,10 @@ TEST_F(HandlerSpecTest, Ex7_7_SingleQuotedCharacters) {
TEST_F(HandlerSpecTest, Ex7_8_SingleQuotedImplicitKeys) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "implicit block key"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "implicit flow key"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "value"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -1081,13 +1087,13 @@ TEST_F(HandlerSpecTest, Ex7_9_SingleQuotedLines) {
TEST_F(HandlerSpecTest, Ex7_10_PlainCharacters) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "::vector"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, ": - ()"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "Up, up, and away!"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "-123"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "http://example.com/foo#bar"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "::vector"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, ": - ()"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "Up, up, and away!"));
......@@ -1101,10 +1107,10 @@ TEST_F(HandlerSpecTest, Ex7_10_PlainCharacters) {
TEST_F(HandlerSpecTest, Ex7_11_PlainImplicitKeys) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "implicit block key"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "implicit flow key"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "value"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -1124,12 +1130,12 @@ TEST_F(HandlerSpecTest, Ex7_12_PlainLines) {
TEST_F(HandlerSpecTest, Ex7_13_FlowSequence) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "one"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "two"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "three"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "four"));
EXPECT_CALL(handler, OnSequenceEnd());
......@@ -1140,14 +1146,14 @@ TEST_F(HandlerSpecTest, Ex7_13_FlowSequence) {
TEST_F(HandlerSpecTest, Ex7_14_FlowSequenceEntries) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "double quoted"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "single quoted"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "plain text"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "nested"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "single"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "pair"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -1158,14 +1164,14 @@ TEST_F(HandlerSpecTest, Ex7_14_FlowSequenceEntries) {
TEST_F(HandlerSpecTest, Ex7_15_FlowMappings) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "one"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "two"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "three"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "four"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "five"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "six"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "seven"));
......@@ -1178,7 +1184,7 @@ TEST_F(HandlerSpecTest, Ex7_15_FlowMappings) {
TEST_F(HandlerSpecTest, Ex7_16_FlowMappingEntries) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "explicit"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "entry"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "implicit"));
......@@ -1192,7 +1198,7 @@ TEST_F(HandlerSpecTest, Ex7_16_FlowMappingEntries) {
TEST_F(HandlerSpecTest, Ex7_17_FlowMappingSeparateValues) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "unquoted"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "separate"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "http://foo.com"));
......@@ -1208,7 +1214,7 @@ TEST_F(HandlerSpecTest, Ex7_17_FlowMappingSeparateValues) {
TEST_F(HandlerSpecTest, Ex7_18_FlowMappingAdjacentValues) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "adjacent"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "value"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "readable"));
......@@ -1222,8 +1228,8 @@ TEST_F(HandlerSpecTest, Ex7_18_FlowMappingAdjacentValues) {
TEST_F(HandlerSpecTest, Ex7_19_SinglePairFlowMappings) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "foo"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "bar"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -1234,8 +1240,8 @@ TEST_F(HandlerSpecTest, Ex7_19_SinglePairFlowMappings) {
TEST_F(HandlerSpecTest, Ex7_20_SinglePairExplicitEntry) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "foo bar"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "baz"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -1246,22 +1252,22 @@ TEST_F(HandlerSpecTest, Ex7_20_SinglePairExplicitEntry) {
TEST_F(HandlerSpecTest, Ex7_21_SinglePairImplicitEntries) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "YAML"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "separate"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Default));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "empty key entry"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "JSON"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "like"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -1279,12 +1285,12 @@ TEST_F(HandlerSpecTest, Ex7_22_InvalidImplicitKeys) {
TEST_F(HandlerSpecTest, Ex7_23_FlowContent) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "a"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "b"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "a"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "b"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -1298,7 +1304,7 @@ TEST_F(HandlerSpecTest, Ex7_23_FlowContent) {
TEST_F(HandlerSpecTest, Ex7_24_FlowNodes) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:str", 0, "a"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "b"));
EXPECT_CALL(handler, OnScalar(_, "!", 1, "c"));
......@@ -1311,7 +1317,7 @@ TEST_F(HandlerSpecTest, Ex7_24_FlowNodes) {
TEST_F(HandlerSpecTest, Ex8_1_BlockScalarHeader) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "literal\n"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, " folded\n"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "keep\n\n"));
......@@ -1323,7 +1329,7 @@ TEST_F(HandlerSpecTest, Ex8_1_BlockScalarHeader) {
TEST_F(HandlerSpecTest, Ex8_2_BlockIndentationHeader) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "detected\n"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "\n\n# detected\n"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, " explicit\n"));
......@@ -1347,7 +1353,7 @@ TEST_F(HandlerSpecTest, Ex8_3c_InvalidBlockScalarIndentationIndicators) {
TEST_F(HandlerSpecTest, Ex8_4_ChompingFinalLineBreak) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
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"));
......@@ -1361,7 +1367,7 @@ TEST_F(HandlerSpecTest, Ex8_4_ChompingFinalLineBreak) {
TEST_F(HandlerSpecTest, DISABLED_Ex8_5_ChompingTrailingLines) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
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"));
......@@ -1377,7 +1383,7 @@ TEST_F(HandlerSpecTest, DISABLED_Ex8_5_ChompingTrailingLines) {
TEST_F(HandlerSpecTest, Ex8_6_EmptyScalarChomping) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "strip"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, ""));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "clip"));
......@@ -1452,11 +1458,11 @@ TEST_F(HandlerSpecTest, Ex8_13_FinalEmptyLines) {
TEST_F(HandlerSpecTest, Ex8_14_BlockSequence) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "block sequence"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "one"));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "two"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "three"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -1468,14 +1474,14 @@ TEST_F(HandlerSpecTest, Ex8_14_BlockSequence) {
TEST_F(HandlerSpecTest, Ex8_15_BlockSequenceEntryTypes) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "block node\n"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "one"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "two"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "one"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "two"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -1486,9 +1492,9 @@ TEST_F(HandlerSpecTest, Ex8_15_BlockSequenceEntryTypes) {
TEST_F(HandlerSpecTest, Ex8_16_BlockMappings) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "block mapping"));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "key"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "value"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -1499,11 +1505,11 @@ TEST_F(HandlerSpecTest, Ex8_16_BlockMappings) {
TEST_F(HandlerSpecTest, Ex8_17_ExplicitBlockMappingEntries) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "explicit key"));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "block key\n"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "one"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "two"));
EXPECT_CALL(handler, OnSequenceEnd());
......@@ -1514,13 +1520,13 @@ TEST_F(HandlerSpecTest, Ex8_17_ExplicitBlockMappingEntries) {
TEST_F(HandlerSpecTest, Ex8_18_ImplicitBlockMappingEntries) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "plain key"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "in-line value"));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "quoted key"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "entry"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnMapEnd());
......@@ -1530,17 +1536,17 @@ TEST_F(HandlerSpecTest, Ex8_18_ImplicitBlockMappingEntries) {
TEST_F(HandlerSpecTest, Ex8_19_CompactBlockMappings) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "sun"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "yellow"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "earth"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "blue"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "moon"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "white"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -1552,10 +1558,11 @@ TEST_F(HandlerSpecTest, Ex8_19_CompactBlockMappings) {
TEST_F(HandlerSpecTest, Ex8_20_BlockNodeTypes) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "flow in block"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "Block scalar\n"));
EXPECT_CALL(handler, OnMapStart(_, "tag:yaml.org,2002:map", 0));
EXPECT_CALL(handler,
OnMapStart(_, "tag:yaml.org,2002:map", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "foo"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "bar"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -1566,7 +1573,7 @@ TEST_F(HandlerSpecTest, Ex8_20_BlockNodeTypes) {
TEST_F(HandlerSpecTest, DISABLED_Ex8_21_BlockScalarNodes) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
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"
......@@ -1580,16 +1587,19 @@ TEST_F(HandlerSpecTest, DISABLED_Ex8_21_BlockScalarNodes) {
TEST_F(HandlerSpecTest, Ex8_22_BlockCollectionNodes) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "sequence"));
EXPECT_CALL(handler, OnSequenceStart(_, "tag:yaml.org,2002:seq", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "tag:yaml.org,2002:seq", 0,
EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "entry"));
EXPECT_CALL(handler, OnSequenceStart(_, "tag:yaml.org,2002:seq", 0));
EXPECT_CALL(handler, OnSequenceStart(_, "tag:yaml.org,2002:seq", 0,
EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "nested"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "mapping"));
EXPECT_CALL(handler, OnMapStart(_, "tag:yaml.org,2002:map", 0));
EXPECT_CALL(handler,
OnMapStart(_, "tag:yaml.org,2002:map", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "foo"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "bar"));
EXPECT_CALL(handler, OnMapEnd());
......
......@@ -11,8 +11,7 @@ using ::testing::_;
ASSERT_THROW(statement, ParserException); \
try { \
statement; \
} \
catch (const ParserException& e) { \
} catch (const ParserException& e) { \
EXPECT_EQ(e.msg, message); \
}
......@@ -26,7 +25,7 @@ TEST_F(HandlerTest, NoEndOfMapFlow) {
TEST_F(HandlerTest, PlainScalarStartingWithQuestionMark) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "foo"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "?bar"));
EXPECT_CALL(handler, OnMapEnd());
......@@ -36,7 +35,7 @@ TEST_F(HandlerTest, PlainScalarStartingWithQuestionMark) {
TEST_F(HandlerTest, NullStringScalar) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "foo"));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnMapEnd());
......
#include "yaml-cpp/emitterstyle.h"
#include "yaml-cpp/eventhandler.h"
#include "gmock/gmock.h"
......@@ -14,11 +15,12 @@ class MockEventHandler : public EventHandler {
MOCK_METHOD4(OnScalar, void(const Mark&, const std::string&, anchor_t,
const std::string&));
MOCK_METHOD3(OnSequenceStart,
void(const Mark&, const std::string&, anchor_t));
MOCK_METHOD4(OnSequenceStart, void(const Mark&, const std::string&, anchor_t,
EmitterStyle::value));
MOCK_METHOD0(OnSequenceEnd, void());
MOCK_METHOD3(OnMapStart, void(const Mark&, const std::string&, anchor_t));
MOCK_METHOD4(OnMapStart, void(const Mark&, const std::string&, anchor_t,
EmitterStyle::value));
MOCK_METHOD0(OnMapEnd, void());
};
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment