aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/json
diff options
context:
space:
mode:
authorMikel Lindsaar <raasdnil@gmail.com>2010-03-11 22:07:48 +1100
committerMikel Lindsaar <raasdnil@gmail.com>2010-03-11 22:07:48 +1100
commit965fe59bff249ad91131a444e1fbd63dc4411db3 (patch)
treeec2d54d5eaad9e32bce1758e6a67c364279bbd39 /activesupport/test/json
parent79f02a473cb6aef00003745f23802314c8c89e7d (diff)
parent4adcbb6b2d6cef49ac28df4254ac74e09f14dcf7 (diff)
downloadrails-965fe59bff249ad91131a444e1fbd63dc4411db3.tar.gz
rails-965fe59bff249ad91131a444e1fbd63dc4411db3.tar.bz2
rails-965fe59bff249ad91131a444e1fbd63dc4411db3.zip
Merge branch 'master' of github.com:lifo/docrails
Diffstat (limited to 'activesupport/test/json')
-rw-r--r--activesupport/test/json/decoding_test.rb3
-rw-r--r--activesupport/test/json/encoding_test.rb10
2 files changed, 9 insertions, 4 deletions
diff --git a/activesupport/test/json/decoding_test.rb b/activesupport/test/json/decoding_test.rb
index 8fcb16abfb..d2e3efaa6b 100644
--- a/activesupport/test/json/decoding_test.rb
+++ b/activesupport/test/json/decoding_test.rb
@@ -45,10 +45,11 @@ class TestJSONDecoding < ActiveSupport::TestCase
}
# load the default JSON backend
- ActiveSupport::JSON.backend
+ ActiveSupport::JSON.backend = 'Yaml'
backends = %w(Yaml)
backends << "JSONGem" if defined?(::JSON)
+ backends << "Yajl" if defined?(::Yajl)
backends.each do |backend|
TESTS.each do |json, expected|
diff --git a/activesupport/test/json/encoding_test.rb b/activesupport/test/json/encoding_test.rb
index cf9a635b5f..188b799f3f 100644
--- a/activesupport/test/json/encoding_test.rb
+++ b/activesupport/test/json/encoding_test.rb
@@ -50,13 +50,18 @@ class TestJSONEncoding < Test::Unit::TestCase
StandardDateTimeTests = [[ DateTime.civil(2005,2,1,15,15,10), %("2005-02-01T15:15:10+00:00") ]]
StandardStringTests = [[ 'this is the <string>', %("this is the <string>")]]
+ def sorted_json(json)
+ return json unless json =~ /^\{.*\}$/
+ '{' + json[1..-2].split(',').sort.join(',') + '}'
+ end
+
constants.grep(/Tests$/).each do |class_tests|
define_method("test_#{class_tests[0..-6].underscore}") do
begin
ActiveSupport.escape_html_entities_in_json = class_tests !~ /^Standard/
ActiveSupport.use_standard_json_time_format = class_tests =~ /^Standard/
self.class.const_get(class_tests).each do |pair|
- assert_equal pair.last, ActiveSupport::JSON.encode(pair.first)
+ assert_equal pair.last, sorted_json(ActiveSupport::JSON.encode(pair.first))
end
ensure
ActiveSupport.escape_html_entities_in_json = false
@@ -71,8 +76,7 @@ class TestJSONEncoding < Test::Unit::TestCase
assert_equal %({\"a\":[1,2]}), ActiveSupport::JSON.encode('a' => [1,2])
assert_equal %({"1":2}), ActiveSupport::JSON.encode(1 => 2)
- sorted_json = '{' + ActiveSupport::JSON.encode(:a => :b, :c => :d)[1..-2].split(',').sort.join(',') + '}'
- assert_equal %({\"a\":\"b\",\"c\":\"d\"}), sorted_json
+ assert_equal %({\"a\":\"b\",\"c\":\"d\"}), sorted_json(ActiveSupport::JSON.encode(:a => :b, :c => :d))
end
def test_utf8_string_encoded_properly_when_kcode_is_utf8