aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/json
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2007-12-15 02:28:20 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2007-12-15 02:28:20 +0000
commitaa4ad404c6aa4feccc69b8d7222bcfd1b1903215 (patch)
treef2d665ca4f0ca0be949eb6db96d8b3816dab5600 /activesupport/test/json
parentcefea3c677f90b2c095b377f1ba36a3ff157f5b0 (diff)
downloadrails-aa4ad404c6aa4feccc69b8d7222bcfd1b1903215.tar.gz
rails-aa4ad404c6aa4feccc69b8d7222bcfd1b1903215.tar.bz2
rails-aa4ad404c6aa4feccc69b8d7222bcfd1b1903215.zip
Ruby 1.9 compat: shadowed vars, kcode
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8402 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport/test/json')
-rw-r--r--activesupport/test/json/encoding_test.rb22
1 files changed, 17 insertions, 5 deletions
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