1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/syck/emitter.c (syck_scan_scalar): set SCAN_WHITEEDGE flag

when scalar begins with newline.  patches from Dave B <daz AT
  d10.karoo.co.uk> at [ruby-core:23019] and caleb clausen at
  [ruby-core:25851].  [ruby-core:23006][ruby-core:29925]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2010-05-02 23:15:08 +00:00
parent eee581f943
commit 902bd2b106
4 changed files with 103 additions and 26 deletions

View file

@ -1,3 +1,10 @@
Mon May 3 08:15:05 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/syck/emitter.c (syck_scan_scalar): set SCAN_WHITEEDGE flag
when scalar begins with newline. patches from Dave B <daz AT
d10.karoo.co.uk> at [ruby-core:23019] and caleb clausen at
[ruby-core:25851]. [ruby-core:23006][ruby-core:29925]
Sun May 2 17:52:16 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/rdoc/task.rb (RDoc::Task): should not override newer code.

View file

@ -570,7 +570,7 @@ syck_scan_scalar( int req_width, const char *cursor, long len )
flags |= SCAN_MANYNL_E;
}
if (
( len > 0 && ( cursor[0] == ' ' || cursor[0] == '\t' ) ) ||
( len > 0 && ( cursor[0] == ' ' || cursor[0] == '\t' || cursor[0] == '\n' || cursor[0] == '\r' ) ) ||
( len > 1 && ( cursor[len-1] == ' ' || cursor[len-1] == '\t' ) )
) {
flags |= SCAN_WHITEEDGE;

View file

@ -1,4 +1,4 @@
# -*- mode: ruby; ruby-indent-level: 4; tab-width: 4 -*-
# -*- mode: ruby; ruby-indent-level: 4; tab-width: 4; indent-tabs-mode: t -*-
# vim:sw=4:ts=4
# $Id$
#
@ -26,31 +26,31 @@ class YAML_Unit_Tests < Test::Unit::TestCase
# Convert between YAML and the object to verify correct parsing and
# emitting
#
def assert_to_yaml( obj, yaml )
assert_equal( obj, YAML::load( yaml ) )
assert_equal( obj, YAML::parse( yaml ).transform )
assert_equal( obj, YAML::load( obj.to_yaml ) )
assert_equal( obj, YAML::parse( obj.to_yaml ).transform )
def assert_to_yaml( obj, yaml, msg = nil )
assert_equal( obj, YAML::load( yaml ), msg )
assert_equal( obj, YAML::parse( yaml ).transform, msg )
assert_equal( obj, YAML::load( obj.to_yaml ), msg )
assert_equal( obj, YAML::parse( obj.to_yaml ).transform, msg )
assert_equal( obj, YAML::load(
obj.to_yaml( :UseVersion => true, :UseHeader => true, :SortKeys => true )
) )
), msg )
end
#
# Test parser only
#
def assert_parse_only( obj, yaml )
assert_equal( obj, YAML::load( yaml ) )
assert_equal( obj, YAML::parse( yaml ).transform )
def assert_parse_only( obj, yaml, msg = nil )
assert_equal( obj, YAML::load( yaml ), msg )
assert_equal( obj, YAML::parse( yaml ).transform, msg )
end
def assert_cycle( obj )
assert_equal( obj, YAML::load( obj.to_yaml ) )
def assert_cycle( obj, msg = nil )
assert_equal( obj, YAML::load( obj.to_yaml ), msg )
end
def assert_path_segments( path, segments )
def assert_path_segments( path, segments, msg = nil )
YAML::YPath.each_path( path ) { |choice|
assert_equal( choice.segments, segments.shift )
assert_equal( choice.segments, segments.shift, msg )
}
assert_equal( segments.length, 0, "Some segments leftover: #{ segments.inspect }" )
end
@ -438,6 +438,85 @@ EOY
)
end
#
# Reports from N.Easterly & J.Trupiano : Tests with patch from daz
# [ruby-core:23006] [Bug #1311] http://redmine.ruby-lang.org/issues/show/1311
#
def test_scan_scalar_nl
bug1311 = '[ruby-core:23006]'
assert_cycle(<<EoY, bug1311)
a
b
EoY
assert_cycle(<<EoY, bug1311)
a
b
c
EoY
assert_cycle(<<EoY, bug1311)
a
b
EoY
assert_cycle(" Do I work?\nNo indent", bug1311)
assert_cycle(" \n Do I work?\nNo indent", bug1311)
assert_cycle("\n Do I work?\nNo indent", bug1311)
assert_cycle("\n", bug1311)
assert_cycle("\n\n", bug1311)
assert_cycle("\r\n", bug1311)
assert_cycle <<EoY, '[ruby-core:28777]'
Domain name:
ckgteam.co.uk
Registrant:
James Gregory
Registrant type:
UK Individual
Registrant's address:
The registrant is a non-trading individual who has opted to have their
address omitted from the WHOIS service.
Registrar:
Webfusion Ltd t/a 123-Reg.co.uk [Tag = 123-REG]
URL: http://www.123-reg.co.uk
Relevant dates:
Registered on: 16-Nov-2009
Renewal date: 16-Nov-2011
Last updated: 25-Nov-2009
Registration status:
Registered until renewal date.
Name servers:
ns1.slicehost.net
ns2.slicehost.net
ns3.slicehost.net
WHOIS lookup made at 11:56:46 19-Mar-2010
--
This WHOIS information is provided for free by Nominet UK the central registry
for .uk domain names. This information and the .uk WHOIS are:
Copyright Nominet UK 1996 - 2010.
You may not access the .uk WHOIS or use any data from it except as permitted
by the terms of use available in full at http://www.nominet.org.uk/whois, which
includes restrictions on: (A) use of the data for advertising, or its
repackaging, recompilation, redistribution or reuse (B) obscuring, removing
or hiding any or all of this notice and (C) exceeding query rate or volume
limits. The data is provided on an 'as-is' basis and may lag behind the
register. Access may be withdrawn or restricted at any time.
EoY
end
def test_spec_multiline_scalars
# Multiline flow scalars
assert_parse_only(
@ -1327,12 +1406,3 @@ EOY
end
end
end
if $0 == __FILE__
suite = Test::Unit::TestSuite.new('YAML')
ObjectSpace.each_object(Class) do |klass|
suite << klass.suite if (Test::Unit::TestCase > klass)
end
require 'test/unit/ui/console/testrunner'
Test::Unit::UI::Console::TestRunner.run(suite).passed?
end

View file

@ -1,5 +1,5 @@
#define RUBY_VERSION "1.9.2"
#define RUBY_RELEASE_DATE "2010-05-02"
#define RUBY_RELEASE_DATE "2010-05-03"
#define RUBY_PATCHLEVEL -1
#define RUBY_BRANCH_NAME "trunk"
@ -8,7 +8,7 @@
#define RUBY_VERSION_TEENY 1
#define RUBY_RELEASE_YEAR 2010
#define RUBY_RELEASE_MONTH 5
#define RUBY_RELEASE_DAY 2
#define RUBY_RELEASE_DAY 3
#include "ruby/version.h"