diff options
author | Florian Frank <flori@ping.de> | 2011-11-22 10:19:59 +0100 |
---|---|---|
committer | Florian Frank <flori@ping.de> | 2011-11-22 10:19:59 +0100 |
commit | 8828e9cd225ac0591b3a5015a53cb91b7232bd83 (patch) | |
tree | 08de0fd65287dabe6971128ecd32c4c71163409d /tests | |
parent | 95e76412ae545357727420bf06e2e4744ce830fa (diff) | |
download | json-8828e9cd225ac0591b3a5015a53cb91b7232bd83.tar.gz |
Make JSON.dump and JSON.load support Rails better
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/test_json.rb | 15 | ||||
-rwxr-xr-x | tests/test_json_generate.rb | 2 |
2 files changed, 16 insertions, 1 deletions
diff --git a/tests/test_json.rb b/tests/test_json.rb index 5492b8e..40774b3 100755 --- a/tests/test_json.rb +++ b/tests/test_json.rb @@ -4,6 +4,7 @@ require 'test/unit' require File.join(File.dirname(__FILE__), 'setup_variant') require 'stringio' +require 'tempfile' unless Array.method_defined?(:permutation) begin @@ -416,7 +417,19 @@ EOT JSON.parse('{"foo":"bar", "baz":"quux"}', :symbolize_names => true)) end - def test_load_dump + def test_load + assert_equal @hash, JSON.load(@json) + tempfile = Tempfile.open('json') + tempfile.write @json + tempfile.rewind + assert_equal @hash, JSON.load(tempfile) + stringio = StringIO.new(@json) + stringio.rewind + assert_equal @hash, JSON.load(stringio) + assert_equal nil, JSON.load(nil) + end + + def test_dump too_deep = '[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]' assert_equal too_deep, JSON.dump(eval(too_deep)) assert_kind_of String, Marshal.dump(eval(too_deep)) diff --git a/tests/test_json_generate.rb b/tests/test_json_generate.rb index 2110eba..a8741a5 100755 --- a/tests/test_json_generate.rb +++ b/tests/test_json_generate.rb @@ -43,6 +43,8 @@ EOT def test_generate json = generate(@hash) assert_equal(JSON.parse(@json2), JSON.parse(json)) + json = JSON[@hash] + assert_equal(JSON.parse(@json2), JSON.parse(json)) parsed_json = parse(json) assert_equal(@hash, parsed_json) json = generate({1=>2}) |