diff options
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}) |