From 4d8d3184d18b1a9d2eadb86a6688dc62eca7eabc Mon Sep 17 00:00:00 2001 From: naruse Date: Sun, 11 Mar 2012 13:36:06 +0000 Subject: * ext/json: Merge 164a75c8bd2007d32c4d7665d53140d8fc126dcd. [ruby-core:41917] [Bug #5846] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/json/test_json_addition.rb | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'test/json/test_json_addition.rb') diff --git a/test/json/test_json_addition.rb b/test/json/test_json_addition.rb index cc3820a073..e262e25953 100755 --- a/test/json/test_json_addition.rb +++ b/test/json/test_json_addition.rb @@ -3,7 +3,11 @@ require 'test/unit' require File.join(File.dirname(__FILE__), 'setup_variant') -require 'json/add/core.rb' +require 'json/add/core' +require 'json/add/complex' +require 'json/add/rational' +require 'json/add/bigdecimal' +require 'json/add/ostruct' require 'date' class TC_JSONAddition < Test::Unit::TestCase @@ -126,7 +130,7 @@ class TC_JSONAddition < Test::Unit::TestCase def test_core t = Time.now - assert_equal t.inspect, JSON(JSON(t)).inspect + assert_equal t, JSON(JSON(t)) d = Date.today assert_equal d, JSON(JSON(d)) d = DateTime.civil(2007, 6, 14, 14, 57, 10, Rational(1, 12), 2299161) @@ -164,4 +168,21 @@ class TC_JSONAddition < Test::Unit::TestCase d = DateTime.civil(2008, 6, 17, 11, 48, 32, Rational(12,24)) assert_equal d, JSON.parse(d.to_json) end + + def test_rational_complex + assert_equal Rational(2, 9), JSON(JSON(Rational(2, 9))) + assert_equal Complex(2, 9), JSON(JSON(Complex(2, 9))) + end + + def test_bigdecimal + assert_equal BigDecimal('3.141', 23), JSON(JSON(BigDecimal('3.141', 23))) + assert_equal BigDecimal('3.141', 666), JSON(JSON(BigDecimal('3.141', 666))) + end + + def test_ostruct + o = OpenStruct.new + # XXX this won't work; o.foo = { :bar => true } + o.foo = { 'bar' => true } + assert_equal o, JSON(JSON(o)) + end end -- cgit v1.2.3