From 580d7b05252c906ac0e0a9db0b139ab80c3bf207 Mon Sep 17 00:00:00 2001 From: Ethiraric Date: Thu, 21 Mar 2024 12:37:10 +0100 Subject: [PATCH] Remove no longer needed test files. These tests were sucecssfully converted to Rust files to include and are no longer necessary in this repository. Should they become relevant again in the future, they can always be checked out from a previous commit. --- parser/tests/specs/cpp2rust.rb | 78 -- parser/tests/specs/handler_spec_test.cpp | 1532 ---------------------- parser/tests/specs/libyaml_fail-01.yaml | 6 - parser/tests/specs/libyaml_fail-02.yaml | 7 - parser/tests/specs/libyaml_fail-03.yaml | 5 - 5 files changed, 1628 deletions(-) delete mode 100755 parser/tests/specs/cpp2rust.rb delete mode 100644 parser/tests/specs/handler_spec_test.cpp delete mode 100644 parser/tests/specs/libyaml_fail-01.yaml delete mode 100644 parser/tests/specs/libyaml_fail-02.yaml delete mode 100644 parser/tests/specs/libyaml_fail-03.yaml diff --git a/parser/tests/specs/cpp2rust.rb b/parser/tests/specs/cpp2rust.rb deleted file mode 100755 index 25813c8..0000000 --- a/parser/tests/specs/cpp2rust.rb +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/env ruby - -TEST_REGEX = /TEST_F\([a-zA-Z0-9_]+,\s+([a-zA-Z0-9_]+)\)/ - -DISABLED_TESTS = %w( - test_ex7_10_plain_characters - test_ex7_17_flow_mapping_separate_values - test_ex7_21_single_pair_implicit_entries - test_ex7_2_empty_nodes - test_ex8_2_block_indentation_header -) - -class Context - attr_accessor :name, :ev, :src - def initialize - @name = "" - @src = "" - @ev = [] - end -end - -class String - def snakecase - self - .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') - .gsub(/([a-z\d])([A-Z])/, '\1_\2') - .tr('-', '_') - .gsub(/\s/, '_') - .gsub(/__+/, '_') - .downcase - end -end - -ctx = nil - -tests = [] -IO.foreach(ARGV[0]) do |line| - line.strip! - if ctx - fail "unexpected TEST_F" if line =~ TEST_REGEX - if line =~ /^}/ - tests << ctx - ctx = nil - end - if line =~ /^EXPECT_CALL/ - fail 'not end with ;' unless line[-1] == ';' - v = line.gsub('(', ' ').gsub(')', ' ').split - ctx.ev << v[2] - end - else - next unless line =~ TEST_REGEX - name = $1 - next unless name =~ /^(Ex\d+_\d+)/ - str = $1.upcase - $stderr.puts "found #{name}" - ctx = Context.new - ctx.name = "test_#{name.snakecase}" - ctx.src = str - end -end - -# code gen -tests.each do |t| - next if t.ev.size == 0 - if DISABLED_TESTS.include? t.name - puts "#[allow(dead_code)]" - else - puts "#[test]" - end - puts "fn #{t.name}() {" - puts " let mut v = str_to_test_events(#{t.src}).into_iter();" - t.ev.each do |e| - puts " assert_next!(v, TestEvent::#{e});" - end - puts "}" - puts -end - diff --git a/parser/tests/specs/handler_spec_test.cpp b/parser/tests/specs/handler_spec_test.cpp deleted file mode 100644 index aa4f7ca..0000000 --- a/parser/tests/specs/handler_spec_test.cpp +++ /dev/null @@ -1,1532 +0,0 @@ -#include "handler_test.h" -#include "specexamples.h" // IWYU pragma: keep -#include "yaml-cpp/yaml.h" // IWYU pragma: keep - -#include "gmock/gmock.h" -#include "gtest/gtest.h" - -using ::testing::_; - -#define EXPECT_THROW_PARSER_EXCEPTION(statement, message) \ - ASSERT_THROW(statement, ParserException); \ - try { \ - statement; \ - } catch (const ParserException& e) { \ - EXPECT_EQ(e.msg, message); \ - } - -namespace YAML { -namespace { - -typedef HandlerTest HandlerSpecTest; - -TEST_F(HandlerSpecTest, Ex2_1_SeqScalars) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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()); - Parse(ex2_1); -} - -TEST_F(HandlerSpecTest, Ex2_2_MappingScalarsToScalars) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "0.278")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "rbi")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "147")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_2); -} - -TEST_F(HandlerSpecTest, Ex2_3_MappingScalarsToSequences) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "american")); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "New York Mets")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Chicago Cubs")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Atlanta Braves")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_3); -} - -TEST_F(HandlerSpecTest, Ex2_4_SequenceOfMappings) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - 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, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "name")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "hr")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "63")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "avg")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "0.288")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_4); -} - -TEST_F(HandlerSpecTest, Ex2_5_SequenceOfSequences) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, 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, EmitterStyle::Flow)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "63")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "0.288")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_5); -} - -TEST_F(HandlerSpecTest, Ex2_6_MappingOfMappings) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Mark McGwire")); - 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, EmitterStyle::Flow)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "hr")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "63")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "avg")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "0.288")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_6); -} - -TEST_F(HandlerSpecTest, Ex2_7_TwoDocumentsInAStream) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Chicago Cubs")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "St Louis Cardinals")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_7); -} - -TEST_F(HandlerSpecTest, Ex2_8_PlayByPlayFeed) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "action")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "strike (miss)")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "action")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "grand slam")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_8); -} - -TEST_F(HandlerSpecTest, Ex2_9_SingleDocumentWithTwoComments) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "hr")); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ken Griffey")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_9); -} - -TEST_F(HandlerSpecTest, Ex2_10_SimpleAnchor) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "hr")); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnAlias(_, 1)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ken Griffey")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_10); -} - -TEST_F(HandlerSpecTest, Ex2_11_MappingBetweenSequences) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "2001-07-23")); - EXPECT_CALL(handler, OnSequenceEnd()); - 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, 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")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_11); -} - -TEST_F(HandlerSpecTest, Ex2_12_CompactNestedMapping) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "item")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Big Shoes")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "quantity")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "1")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_12); -} - -TEST_F(HandlerSpecTest, Ex2_13_InLiteralsNewlinesArePreserved) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "\\//||\\/||\n// || ||__")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_13); -} - -TEST_F(HandlerSpecTest, Ex2_14_InFoldedScalarsNewlinesBecomeSpaces) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "Mark McGwire's year was crippled by a knee injury.")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_14); -} - -TEST_F(HandlerSpecTest, Ex2_15_FoldedNewlinesArePreservedForMoreIndentedAndBlankLines) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "Sammy Sosa completed another fine season with great stats.\n\n 63 Home Runs\n 0.288 Batting Average\n\nWhat a year!")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_15); -} - -TEST_F(HandlerSpecTest, Ex2_16_IndentationDeterminesScope) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "Mark set a major league home run record in 1998.\n")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "stats")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "65 Home Runs\n0.278 Batting Average\n")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_16); -} - -TEST_F(HandlerSpecTest, Ex2_17_QuotedScalars) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "\b1998\t1999\t2000\n")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "hex esc")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "\x0d\x0a is \r\n")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "single")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "\"Howdy!\" he cried.")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "quoted")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, " # Not a 'comment'.")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "tie-fighter")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "|\\-*-/|")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_17); -} - -TEST_F(HandlerSpecTest, Ex2_18_MultiLineFlowScalars) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "plain")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "This unquoted scalar spans many lines.")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "quoted")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "So does this quoted scalar.\n")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_18); -} - -// TODO: 2.19 - 2.22 schema tags - -TEST_F(HandlerSpecTest, Ex2_23_VariousExplicitTags) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:binary", 0, "R0lGODlhDAAMAIQAAP//9/X\n17unp5WZmZgAAAOfn515eXv\nPz7Y6OjuDg4J+fn5OTk6enp\n56enmleECcgggoBADs=\n")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "application specific tag")); - EXPECT_CALL(handler, OnScalar(_, "!something", 0, "The semantics of the tag\nabove may be different for\ndifferent documents.")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_23); -} - -TEST_F(HandlerSpecTest, Ex2_24_GlobalTags) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Flow)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "x")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "73")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "y")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "129")); - EXPECT_CALL(handler, OnMapEnd()); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "start")); - EXPECT_CALL(handler, OnAlias(_, 1)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "finish")); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "start")); - EXPECT_CALL(handler, OnAlias(_, 1)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "color")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "0xFFEEBB")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "text")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Pretty vector drawing.")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_24); -} - -TEST_F(HandlerSpecTest, Ex2_25_UnorderedSets) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnNull(_, 0)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ken Griffey")); - EXPECT_CALL(handler, OnNull(_, 0)); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_25); -} - -TEST_F(HandlerSpecTest, Ex2_26_OrderedMappings) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Sammy Sosa")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "63")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Ken Griffey")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "58")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_26); -} - -TEST_F(HandlerSpecTest, Ex2_27_Invoice) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "lines")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "458 Walkman Dr.\nSuite #292\n")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "city")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Royal Oak")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "state")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "MI")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "postal")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "48046")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "ship-to")); - EXPECT_CALL(handler, OnAlias(_, 1)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "product")); - 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")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "4")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "description")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Basketball")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "price")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "450.00")); - EXPECT_CALL(handler, OnMapEnd()); - 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")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "1")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "description")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Super Hoop")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "price")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "2392.00")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "tax")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "251.42")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "total")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "4443.52")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "comments")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_27); -} - -TEST_F(HandlerSpecTest, Ex2_28_LogFile) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "ed")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Warning")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "This is an error message for the log file")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "ed")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Warning")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "A slightly different error message.")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "ed")); - 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, 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")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "23")); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "file")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "MoreClass.py")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "line")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "58")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "code")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "foo = bar")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex2_28); -} - -// TODO: 5.1 - 5.2 BOM - -TEST_F(HandlerSpecTest, Ex5_3_BlockStructureIndicators) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "sequence")); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "sky")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "blue")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "sea")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "green")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex5_3); -} - -TEST_F(HandlerSpecTest, Ex5_4_FlowStructureIndicators) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "sequence")); - 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, EmitterStyle::Flow)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "sky")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "blue")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "sea")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "green")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex5_4); -} - - -TEST_F(HandlerSpecTest, Ex5_6_NodePropertyIndicators) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnAlias(_, 1)); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex5_6); -} - -TEST_F(HandlerSpecTest, Ex5_7_BlockScalarIndicators) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "some text\n")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex5_7); -} - -TEST_F(HandlerSpecTest, Ex5_8_QuotedScalarIndicators) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "text")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex5_8); -} - -// TODO: 5.9 directive -// TODO: 5.10 reserved indicator - -TEST_F(HandlerSpecTest, Ex5_11_LineBreakCharacters) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "Line break (no glyph)\nLine break (glyphed)\n")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex5_11); -} - -TEST_F(HandlerSpecTest, Ex5_12_TabsAndSpaces) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "void main() {\n\tprintf(\"Hello, world!\\n\");\n}")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex5_12); -} - -TEST_F(HandlerSpecTest, Ex5_13_EscapedCharacters) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "Fun with \x5C \x22 \x07 \x08 \x1B \x0C \x0A \x0D \x09 \x0B \x00 \x20 \xA0 \x85 \xe2\x80\xa8 \xe2\x80\xa9 A A A")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex5_13); -} - -TEST_F(HandlerSpecTest, Ex5_14_InvalidEscapedCharacters) { - EXPECT_THROW_PARSER_EXCEPTION(IgnoreParse(ex5_14), std::string(ErrorMsg::INVALID_ESCAPE) + "c"); -} - -TEST_F(HandlerSpecTest, Ex6_1_IndentationSpaces) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Not indented")); - 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, 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")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_1); -} - -TEST_F(HandlerSpecTest, Ex6_2_IndentationIndicators) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "a")); - EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "b")); - EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "c")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "d")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_2); -} - -TEST_F(HandlerSpecTest, Ex6_3_SeparationSpaces) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "baz")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "baz")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_3); -} - -TEST_F(HandlerSpecTest, Ex6_4_LinePrefixes) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "text lines")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "block")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "text\n \tlines\n")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_4); -} - -TEST_F(HandlerSpecTest, Ex6_5_EmptyLines) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "Clipped empty lines\n")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_5); -} - -TEST_F(HandlerSpecTest, Ex6_6_LineFolding) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "trimmed\n\n\nas space")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_6); -} - -TEST_F(HandlerSpecTest, Ex6_7_BlockFolding) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "foo \n\n\t bar\n\nbaz\n")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_7); -} - -TEST_F(HandlerSpecTest, Ex6_8_FlowFolding) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, " foo\nbar\nbaz ")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_8); -} - -TEST_F(HandlerSpecTest, Ex6_9_SeparatedComment) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "key")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "value")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_9); -} - - -TEST_F(HandlerSpecTest, _MultiLineComments) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "key")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "value")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_11); -} - -TEST_F(HandlerSpecTest, Ex6_12_SeparationSpacesII) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Block)); - 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, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_12); -} - -TEST_F(HandlerSpecTest, Ex6_13_ReservedDirectives) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "foo")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_13); -} - -TEST_F(HandlerSpecTest, Ex6_14_YAMLDirective) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "foo")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_14); -} - -TEST_F(HandlerSpecTest, Ex6_15_InvalidRepeatedYAMLDirective) { - EXPECT_THROW_PARSER_EXCEPTION(IgnoreParse(ex6_15), ErrorMsg::REPEATED_YAML_DIRECTIVE); -} - -TEST_F(HandlerSpecTest, Ex6_16_TagDirective) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:str", 0, "foo")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_16); -} - -TEST_F(HandlerSpecTest, Ex6_17_InvalidRepeatedTagDirective) { - EXPECT_THROW_PARSER_EXCEPTION(IgnoreParse(ex6_17), ErrorMsg::REPEATED_TAG_DIRECTIVE); -} - -TEST_F(HandlerSpecTest, Ex6_18_PrimaryTagHandle) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!foo", 0, "bar")); - EXPECT_CALL(handler, OnDocumentEnd()); - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "tag:example.com,2000:app/foo", 0, "bar")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_18); -} - -TEST_F(HandlerSpecTest, Ex6_19_SecondaryTagHandle) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "tag:example.com,2000:app/int", 0, "1 - 3")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_19); -} - -TEST_F(HandlerSpecTest, Ex6_20_TagHandles) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "tag:example.com,2000:app/foo", 0, "bar")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_20); -} - -TEST_F(HandlerSpecTest, Ex6_21_LocalTagPrefix) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!my-light", 0, "fluorescent")); - EXPECT_CALL(handler, OnDocumentEnd()); - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!my-light", 0, "green")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_21); -} - -TEST_F(HandlerSpecTest, Ex6_22_GlobalTagPrefix) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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()); - Parse(ex6_22); -} - -TEST_F(HandlerSpecTest, Ex6_23_NodeProperties) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnAlias(_, 1)); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_23); -} - -TEST_F(HandlerSpecTest, Ex6_24_VerbatimTags) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_24); -} - -// TODO: Implement -TEST_F(HandlerSpecTest, DISABLED_Ex6_25_InvalidVerbatimTags) { - Parse(ex6_25); - FAIL() << "not implemented yet"; -} - -TEST_F(HandlerSpecTest, Ex6_26_TagShorthands) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, OnScalar(_, "tag:example.com,2000:app/tag%21", 0, "baz")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_26); -} - -TEST_F(HandlerSpecTest, Ex6_27a_InvalidTagShorthands) { - EXPECT_THROW_PARSER_EXCEPTION(IgnoreParse(ex6_27a), ErrorMsg::TAG_WITH_NO_SUFFIX); -} - -// TODO: should we reject this one (since !h! is not declared)? -TEST_F(HandlerSpecTest, DISABLED_Ex6_27b_InvalidTagShorthands) { - Parse(ex6_27b); - FAIL() << "not implemented yet"; -} - -TEST_F(HandlerSpecTest, Ex6_28_NonSpecificTags) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_28); -} - -TEST_F(HandlerSpecTest, Ex6_29_NodeAnchors) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnAlias(_, 1)); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex6_29); -} - -TEST_F(HandlerSpecTest, Ex7_1_AliasNodes) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnAlias(_, 1)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Override anchor")); - EXPECT_CALL(handler, OnScalar(_, "?", 2, "Bar")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "Reuse anchor")); - EXPECT_CALL(handler, OnAlias(_, 2)); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_1); -} - -TEST_F(HandlerSpecTest, Ex7_2_EmptyNodes) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, "")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "bar")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_2); -} - -TEST_F(HandlerSpecTest, Ex7_3_CompletelyEmptyNodes) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "foo")); - EXPECT_CALL(handler, OnNull(_, 0)); - EXPECT_CALL(handler, OnNull(_, 0)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "bar")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_3); -} - -TEST_F(HandlerSpecTest, Ex7_4_DoubleQuotedImplicitKeys) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "implicit block key")); - 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()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_4); -} - -TEST_F(HandlerSpecTest, Ex7_5_DoubleQuotedLineBreaks) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "folded to a space,\nto a line feed, or \t \tnon-content")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_5); -} - -TEST_F(HandlerSpecTest, Ex7_6_DoubleQuotedLines) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, " 1st non-empty\n2nd non-empty 3rd non-empty ")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_6); -} - -TEST_F(HandlerSpecTest, Ex7_7_SingleQuotedCharacters) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "here's to \"quotes\"")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_7); -} - -TEST_F(HandlerSpecTest, Ex7_8_SingleQuotedImplicitKeys) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "implicit block key")); - 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()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_8); -} - -TEST_F(HandlerSpecTest, Ex7_9_SingleQuotedLines) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, " 1st non-empty\n2nd non-empty 3rd non-empty ")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_9); -} - -TEST_F(HandlerSpecTest, Ex7_10_PlainCharacters) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Flow)); - 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, OnSequenceEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_10); -} - -TEST_F(HandlerSpecTest, Ex7_11_PlainImplicitKeys) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "implicit block key")); - 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()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_11); -} - -TEST_F(HandlerSpecTest, Ex7_12_PlainLines) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "1st non-empty\n2nd non-empty 3rd non-empty")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_12); -} - -TEST_F(HandlerSpecTest, Ex7_13_FlowSequence) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Flow)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "three")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "four")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_13); -} - -TEST_F(HandlerSpecTest, Ex7_14_FlowSequenceEntries) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Flow)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "nested")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Flow)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "single")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "pair")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_14); -} - -TEST_F(HandlerSpecTest, Ex7_15_FlowMappings) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Flow)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "five")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "six")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "seven")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "eight")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_15); -} - -TEST_F(HandlerSpecTest, Ex7_16_FlowMappingEntries) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "entry")); - EXPECT_CALL(handler, OnNull(_, 0)); - EXPECT_CALL(handler, OnNull(_, 0)); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_16); -} - -TEST_F(HandlerSpecTest, Ex7_17_FlowMappingSeparateValues) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnNull(_, 0)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "omitted value")); - EXPECT_CALL(handler, OnNull(_, 0)); - EXPECT_CALL(handler, OnNull(_, 0)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "omitted key")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_17); -} - -TEST_F(HandlerSpecTest, Ex7_18_FlowMappingAdjacentValues) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "value")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "empty")); - EXPECT_CALL(handler, OnNull(_, 0)); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_18); -} - -TEST_F(HandlerSpecTest, Ex7_19_SinglePairFlowMappings) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_19); -} - -TEST_F(HandlerSpecTest, Ex7_20_SinglePairExplicitEntry) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_20); -} - -TEST_F(HandlerSpecTest, Ex7_21_SinglePairImplicitEntries) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, 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, 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()); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "adjacent")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_21); -} - -TEST_F(HandlerSpecTest, Ex7_22_InvalidImplicitKeys) { - EXPECT_THROW_PARSER_EXCEPTION(IgnoreParse(ex7_22), ErrorMsg::END_OF_SEQ_FLOW); -} - -TEST_F(HandlerSpecTest, Ex7_23_FlowContent) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Flow)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "a")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "b")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "a")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "b")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "c")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_23); -} - -TEST_F(HandlerSpecTest, Ex7_24_FlowNodes) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnAlias(_, 1)); - EXPECT_CALL(handler, OnScalar(_, "tag:yaml.org,2002:str", 0, "")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex7_24); -} - -TEST_F(HandlerSpecTest, Ex8_1_BlockScalarHeader) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, " strip")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_1); -} - -TEST_F(HandlerSpecTest, Ex8_2_BlockIndentationHeader) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "\t\ndetected\n")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_2); -} - -TEST_F(HandlerSpecTest, Ex8_3a_InvalidBlockScalarIndentationIndicators) { - EXPECT_THROW_PARSER_EXCEPTION(IgnoreParse(ex8_3a), ErrorMsg::END_OF_SEQ); -} - -TEST_F(HandlerSpecTest, Ex8_3b_InvalidBlockScalarIndentationIndicators) { - EXPECT_THROW_PARSER_EXCEPTION(IgnoreParse(ex8_3b), ErrorMsg::END_OF_SEQ); -} - -TEST_F(HandlerSpecTest, Ex8_3c_InvalidBlockScalarIndentationIndicators) { - EXPECT_THROW_PARSER_EXCEPTION(IgnoreParse(ex8_3c), ErrorMsg::END_OF_SEQ); -} - -TEST_F(HandlerSpecTest, Ex8_4_ChompingFinalLineBreak) { - 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")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "text\n")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_4); -} - -TEST_F(HandlerSpecTest, DISABLED_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, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_5); -} - -TEST_F(HandlerSpecTest, Ex8_6_EmptyScalarChomping) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "strip")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "clip")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "keep")); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "\n")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_6); -} - -TEST_F(HandlerSpecTest, Ex8_7_LiteralScalar) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "literal\n\ttext\n")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_7); -} - -TEST_F(HandlerSpecTest, Ex8_8_LiteralContent) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "\n\nliteral\n \n\ntext\n")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_8); -} - -TEST_F(HandlerSpecTest, Ex8_9_FoldedScalar) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "folded text\n")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_9); -} - -TEST_F(HandlerSpecTest, Ex8_10_FoldedLines) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "\nfolded line\nnext line\n * bullet\n\n * list\n * lines\n\nlast line\n")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_10); -} - -TEST_F(HandlerSpecTest, Ex8_11_MoreIndentedLines) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "\nfolded line\nnext line\n * bullet\n\n * list\n * lines\n\nlast line\n")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_11); -} - -TEST_F(HandlerSpecTest, Ex8_12_EmptySeparationLines) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "\nfolded line\nnext line\n * bullet\n\n * list\n * lines\n\nlast line\n")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_12); -} - -TEST_F(HandlerSpecTest, Ex8_13_FinalEmptyLines) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnScalar(_, "!", 0, "\nfolded line\nnext line\n * bullet\n\n * list\n * lines\n\nlast line\n")); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_13); -} - -TEST_F(HandlerSpecTest, Ex8_14_BlockSequence) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "block sequence")); - EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "one")); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "two")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "three")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_14); -} - -TEST_F(HandlerSpecTest, Ex8_15_BlockSequenceEntryTypes) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "one")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "two")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "one")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "two")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_15); -} - -TEST_F(HandlerSpecTest, Ex8_16_BlockMappings) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "block mapping")); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "key")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "value")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_16); -} - -TEST_F(HandlerSpecTest, Ex8_17_ExplicitBlockMappingEntries) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "one")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "two")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_17); -} - -TEST_F(HandlerSpecTest, Ex8_18_ImplicitBlockMappingEntries) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "entry")); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_18); -} - -TEST_F(HandlerSpecTest, Ex8_19_CompactBlockMappings) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "moon")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "white")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_19); -} - -TEST_F(HandlerSpecTest, Ex8_20_BlockNodeTypes) { - EXPECT_CALL(handler, OnDocumentStart(_)); - 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "foo")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "bar")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnSequenceEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_20); -} - -TEST_F(HandlerSpecTest, DISABLED_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, "folded")); - EXPECT_CALL(handler, OnScalar(_, "!foo", 0, "value")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_21); -} - -TEST_F(HandlerSpecTest, Ex8_22_BlockCollectionNodes) { - EXPECT_CALL(handler, OnDocumentStart(_)); - EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "sequence")); - 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, 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, EmitterStyle::Block)); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "foo")); - EXPECT_CALL(handler, OnScalar(_, "?", 0, "bar")); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnMapEnd()); - EXPECT_CALL(handler, OnDocumentEnd()); - Parse(ex8_22); -} -} -} diff --git a/parser/tests/specs/libyaml_fail-01.yaml b/parser/tests/specs/libyaml_fail-01.yaml deleted file mode 100644 index 5e6c0dc..0000000 --- a/parser/tests/specs/libyaml_fail-01.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# Ex 8.18 -plain key: in-line value -: # Both empty -"quoted key": -- entry - diff --git a/parser/tests/specs/libyaml_fail-02.yaml b/parser/tests/specs/libyaml_fail-02.yaml deleted file mode 100644 index 60074de..0000000 --- a/parser/tests/specs/libyaml_fail-02.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# Ex 7.17 -{ -unqoted : "separate", -http://foo.com, -omitted value:, -: omitted key, -} diff --git a/parser/tests/specs/libyaml_fail-03.yaml b/parser/tests/specs/libyaml_fail-03.yaml deleted file mode 100644 index fc821dc..0000000 --- a/parser/tests/specs/libyaml_fail-03.yaml +++ /dev/null @@ -1,5 +0,0 @@ -# ex 7.2 -{ - foo : !!str, - !!str : bar, -}