diff options
author | Florian Frank <flori@ping.de> | 2010-08-05 03:10:21 +0200 |
---|---|---|
committer | Florian Frank <flori@ping.de> | 2010-08-05 03:10:21 +0200 |
commit | 646cc01a6677905fe0ef7fb35aff7bca4fd68123 (patch) | |
tree | 719aba3257f09dcf3c9ccddb71ea04e8199aa856 /tests | |
parent | f0a14faf1d59a5ea86a79d3a5780e8433bfc9e16 (diff) | |
download | json-646cc01a6677905fe0ef7fb35aff7bca4fd68123.tar.gz |
Revert "use method dispatch for generation again"
This reverts commit f0a14faf1d59a5ea86a79d3a5780e8433bfc9e16.
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/test_json.rb | 36 |
1 files changed, 7 insertions, 29 deletions
diff --git a/tests/test_json.rb b/tests/test_json.rb index a88049a..19b742f 100755 --- a/tests/test_json.rb +++ b/tests/test_json.rb @@ -160,20 +160,6 @@ class TC_JSON < Test::Unit::TestCase class SubArray < Array; end - class SubArray2 < Array - def to_json(*a) - { - JSON.create_id => self.class.name, - 'ary' => to_a, - }.to_json(*a) - end - - def self.json_create(o) - o.delete JSON.create_id - o['ary'] - end - end - def test_parse_array_custom_class res = parse('[]', :array_class => SubArray) assert_equal([], res) @@ -187,9 +173,7 @@ class TC_JSON < Test::Unit::TestCase assert_equal({'foo'=>'bar'}, parse(' { "foo" : "bar" } ')) end - class SubHash < Hash; end - - class SubHash2 < Hash + class SubHash < Hash def to_json(*a) { JSON.create_id => self.class.name, @@ -203,25 +187,19 @@ class TC_JSON < Test::Unit::TestCase end def test_parse_object_custom_class - res = parse('{}', :object_class => SubHash2) + res = parse('{}', :object_class => SubHash) assert_equal({}, res) - assert_equal(SubHash2, res.class) + assert_equal(SubHash, res.class) end - def test_generation_of_core_subclasses_with_new_to_json - obj = SubHash2.new.merge( "foo" => SubHash2.new.merge("bar" => true)) + def test_generation_of_core_subclasses + obj = SubHash.new.merge( "foo" => SubHash.new.merge("bar" => true)) obj_json = JSON(obj) obj_again = JSON(obj_json) - assert_kind_of SubHash2, obj_again - assert_kind_of SubHash2, obj_again['foo'] + assert_kind_of SubHash, obj_again + assert_kind_of SubHash, obj_again['foo'] assert obj_again['foo']['bar'] assert_equal obj, obj_again - assert_equal ["foo"], JSON(JSON(SubArray2["foo"])) - end - - def test_generation_of_core_subclasses_with_default_to_json - assert_equal '{"foo":"bar"}', JSON(SubHash["foo" => "bar"]) - assert_equal '["foo"]', JSON(SubArray["foo"]) end def test_parser_reset |