From f59ce53f265dd2b2ada018a911d917a3eaeace99 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 17 Jan 2015 14:59:18 +0000 Subject: yaml_tree.rb: fix anchor * ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String): anchors like `\Z` are not valid inside character class. use negative-lookahead instead. Fixes: https://github.com/tenderlove/psych/issues/221 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49307 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/psych/test_string.rb | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'test/psych') diff --git a/test/psych/test_string.rb b/test/psych/test_string.rb index df8fb986bb..a8ae55cabe 100644 --- a/test/psych/test_string.rb +++ b/test/psych/test_string.rb @@ -66,18 +66,26 @@ module Psych end def test_literal_when_inner_and_final_line_break - str = "Lorem ipsum\ndolor\n" - yaml = Psych.dump str, line_width: 12 - assert_match /---\s*|\n(.*\n){2}\Z/, yaml - assert_equal str, Psych.load(yaml) + [ + "Lorem ipsum\ndolor\n", + "Lorem ipsum\nZolor\n", + ].each do |str| + yaml = Psych.dump str, line_width: 12 + assert_match /---\s*\|\n(.*\n){2}\Z/, yaml + assert_equal str, Psych.load(yaml) + end end # http://yaml.org/spec/1.2/2009-07-21/spec.html#id2593651 def test_literal_strip_when_inner_line_break_and_no_final_line_break - str = "Lorem ipsum\ndolor" - yaml = Psych.dump str, line_width: 12 - assert_match /---\s*|-\n(.*\n){2}\Z/, yaml - assert_equal str, Psych.load(yaml) + [ + "Lorem ipsum\ndolor", + "Lorem ipsum\nZolor", + ].each do |str| + yaml = Psych.dump str, line_width: 12 + assert_match /---\s*\|-\n(.*\n){2}\Z/, yaml + assert_equal str, Psych.load(yaml) + end end def test_cycle_x -- cgit v1.2.3