From aa4ad404c6aa4feccc69b8d7222bcfd1b1903215 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Sat, 15 Dec 2007 02:28:20 +0000 Subject: Ruby 1.9 compat: shadowed vars, kcode git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8402 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- .../lib/active_support/multibyte/chars.rb | 10 ++++++++-- activesupport/test/core_ext/hash_ext_test.rb | 6 +++--- .../core_ext/module/attribute_aliasing_test.rb | 8 ++++++-- activesupport/test/json/encoding_test.rb | 22 +++++++++++++++++----- 4 files changed, 34 insertions(+), 12 deletions(-) (limited to 'activesupport') diff --git a/activesupport/lib/active_support/multibyte/chars.rb b/activesupport/lib/active_support/multibyte/chars.rb index 65114415eb..b30214d947 100644 --- a/activesupport/lib/active_support/multibyte/chars.rb +++ b/activesupport/lib/active_support/multibyte/chars.rb @@ -119,8 +119,14 @@ module ActiveSupport::Multibyte #:nodoc: # +utf8_pragma+ checks if it can send this string to the handlers. It makes sure @string isn't nil and $KCODE is # set to 'UTF8'. - def utf8_pragma? - !@string.nil? && ($KCODE == 'UTF8') + if RUBY_VERSION < '1.9' + def utf8_pragma? + !@string.nil? && ($KCODE == 'UTF8') + end + else + def utf8_pragma? + !@string.nil? && (Encoding.default_external == Encoding::UTF_8) + end end end end diff --git a/activesupport/test/core_ext/hash_ext_test.rb b/activesupport/test/core_ext/hash_ext_test.rb index 3763f47c68..4d01faa5d2 100644 --- a/activesupport/test/core_ext/hash_ext_test.rb +++ b/activesupport/test/core_ext/hash_ext_test.rb @@ -145,7 +145,7 @@ class HashExtTest < Test::Unit::TestCase assert_equal updated_with_mixed[:a], 1 assert_equal updated_with_mixed['b'], 2 - assert [updated_with_strings, updated_with_symbols, updated_with_mixed].all? {|hash| hash.keys.size == 2} + assert [updated_with_strings, updated_with_symbols, updated_with_mixed].all? { |h| h.keys.size == 2 } end def test_indifferent_merging @@ -371,8 +371,8 @@ class HashToXmlTest < Test::Unit::TestCase end def test_one_level_with_yielding - xml = { :name => "David", :street => "Paulina" }.to_xml(@xml_options) do |xml| - xml.creator("Rails") + xml = { :name => "David", :street => "Paulina" }.to_xml(@xml_options) do |x| + x.creator("Rails") end assert_equal "", xml.first(8) diff --git a/activesupport/test/core_ext/module/attribute_aliasing_test.rb b/activesupport/test/core_ext/module/attribute_aliasing_test.rb index 05f7a5c4ca..bd23879513 100644 --- a/activesupport/test/core_ext/module/attribute_aliasing_test.rb +++ b/activesupport/test/core_ext/module/attribute_aliasing_test.rb @@ -3,11 +3,15 @@ require File.dirname(__FILE__) + '/../../abstract_unit' module AttributeAliasing class Content attr_accessor :title, :Data - + + def initialize + @title, @Data = nil, nil + end + def title? !title.nil? end - + def Data? !self.Data.nil? end diff --git a/activesupport/test/json/encoding_test.rb b/activesupport/test/json/encoding_test.rb index bf1b9893cb..4e4fe5703e 100644 --- a/activesupport/test/json/encoding_test.rb +++ b/activesupport/test/json/encoding_test.rb @@ -53,11 +53,10 @@ class TestJSONEncoding < Test::Unit::TestCase end def test_utf8_string_encoded_properly_when_kcode_is_utf8 - old_kcode, $KCODE = $KCODE, 'UTF8' - assert_equal '"\\u20ac2.99"', '€2.99'.to_json - assert_equal '"\\u270e\\u263a"', '✎☺'.to_json - ensure - $KCODE = old_kcode + with_kcode 'UTF8' do + assert_equal '"\\u20ac2.99"', '€2.99'.to_json + assert_equal '"\\u270e\\u263a"', '✎☺'.to_json + end end def test_exception_raised_when_encoding_circular_reference @@ -80,6 +79,19 @@ class TestJSONEncoding < Test::Unit::TestCase end protected + def with_kcode(code) + if RUBY_VERSION < '1.9' + begin + old_kcode, $KCODE = $KCODE, 'UTF8' + yield + ensure + $KCODE = old_kcode + end + else + yield + end + end + def object_keys(json_object) json_object[1..-2].scan(/([^{}:,\s]+):/).flatten.sort end -- cgit v1.2.3