From bee29f23d2d11722746612454d87c7bd387dde34 Mon Sep 17 00:00:00 2001 From: jeg2 Date: Sat, 25 Oct 2008 00:54:38 +0000 Subject: * lib/csv.rb: Fixed a bug in read_to_char() that would slurp whole files if the encoding was invalid. It will now read up to 10 bytes ahead to find a valid character boundary or give up. [ruby-core:19465] * test/csv/test_features.rb, test/csv/test_table.rb, test/csv/test_row.rb: Loosened some tests to check for a compatible? Encoding instea of an exact Encoding. [ruby-core:19470] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/csv/test_features.rb | 6 ++++-- test/csv/test_row.rb | 6 ++++-- test/csv/test_table.rb | 6 ++++-- 3 files changed, 12 insertions(+), 6 deletions(-) (limited to 'test') diff --git a/test/csv/test_features.rb b/test/csv/test_features.rb index 88e23d2f1..9ed3f9819 100644 --- a/test/csv/test_features.rb +++ b/test/csv/test_features.rb @@ -250,9 +250,11 @@ class TestCSVFeatures < Test::Unit::TestCase end end - def test_inspect_is_ascii_8bit_encoded + def test_inspect_encoding_is_ascii_compatible CSV.new("one,two,three\n1,2,3\n".encode("UTF-16BE")) do |csv| - assert_equal("ASCII-8BIT", csv.inspect.encoding.name) + assert( Encoding.compatible?( Encoding.find("US-ASCII"), + csv.inspect.encoding ), + "inspect() was not ASCII compatible." ) end end diff --git a/test/csv/test_row.rb b/test/csv/test_row.rb index bd0aad410..d0b0cdc40 100644 --- a/test/csv/test_row.rb +++ b/test/csv/test_row.rb @@ -296,8 +296,10 @@ class TestCSVRow < Test::Unit::TestCase end end - def test_inspect_is_ascii_8bit_encoded - assert_equal("ASCII-8BIT", @row.inspect.encoding.name) + def test_inspect_encoding_is_ascii_compatible + assert( Encoding.compatible?( Encoding.find("US-ASCII"), + @row.inspect.encoding ), + "inspect() was not ASCII compatible." ) end def test_inspect_shows_symbol_headers_as_bare_attributes diff --git a/test/csv/test_table.rb b/test/csv/test_table.rb index 3c3cb1c15..d0b4d1010 100644 --- a/test/csv/test_table.rb +++ b/test/csv/test_table.rb @@ -400,7 +400,9 @@ class TestCSVTable < Test::Unit::TestCase assert(str.include?("mode:#{@table.mode}"), "Mode not shown.") end - def test_inspect_is_us_ascii_encoded - assert_equal("US-ASCII", @table.inspect.encoding.name) + def test_inspect_encoding_is_ascii_compatible + assert( Encoding.compatible?( Encoding.find("US-ASCII"), + @table.inspect.encoding ), + "inspect() was not ASCII compatible." ) end end -- cgit