Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Ruby 1.9 compat: shadowed vars, kcode

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8402 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
commit aa4ad404c6aa4feccc69b8d7222bcfd1b1903215 1 parent cefea3c
@jeremy jeremy authored
View
10 activesupport/lib/active_support/multibyte/chars.rb
@@ -119,8 +119,14 @@ def handler
# +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
View
6 activesupport/test/core_ext/hash_ext_test.rb
@@ -145,7 +145,7 @@ def test_indifferent_update
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 @@ def test_one_level_with_skipping_types
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 "<person>", xml.first(8)
View
8 activesupport/test/core_ext/module/attribute_aliasing_test.rb
@@ -3,11 +3,15 @@
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
View
22 activesupport/test/json/encoding_test.rb
@@ -53,11 +53,10 @@ def test_hash_encoding
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 @@ def test_hash_should_allow_key_filtering_with_except
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
Please sign in to comment.
Something went wrong with that request. Please try again.