diff options
author | Santiago Pastorino <santiago@wyeworks.com> | 2010-04-05 17:11:59 -0300 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2010-04-05 17:47:02 -0300 |
commit | 72f89b5d971b48a133c4c0af56fbeda35d738dae (patch) | |
tree | 80db44253bcbdebacc3a7782808b0c1cb181b701 /activeresource/test | |
parent | c6746ffaf4a2aeb5e4cec10c2a413f5614a6d137 (diff) | |
download | rails-72f89b5d971b48a133c4c0af56fbeda35d738dae.tar.gz rails-72f89b5d971b48a133c4c0af56fbeda35d738dae.tar.bz2 rails-72f89b5d971b48a133c4c0af56fbeda35d738dae.zip |
create option to include_root_in_json for ActiveResource [#2584 state:committed]
Diffstat (limited to 'activeresource/test')
-rw-r--r-- | activeresource/test/cases/base_test.rb | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/activeresource/test/cases/base_test.rb b/activeresource/test/cases/base_test.rb index 0f10a0e4d7..31e0dc0abc 100644 --- a/activeresource/test/cases/base_test.rb +++ b/activeresource/test/cases/base_test.rb @@ -4,20 +4,22 @@ require "fixtures/customer" require "fixtures/street_address" require "fixtures/beast" require "fixtures/proxy" +require 'active_support/json' require 'active_support/core_ext/hash/conversions' require 'mocha' class BaseTest < Test::Unit::TestCase def setup - @matz = { :id => 1, :name => 'Matz' }.to_xml(:root => 'person') - @david = { :id => 2, :name => 'David' }.to_xml(:root => 'person') - @greg = { :id => 3, :name => 'Greg' }.to_xml(:root => 'person') - @addy = { :id => 1, :street => '12345 Street', :country => 'Australia' }.to_xml(:root => 'address') @default_request_headers = { 'Content-Type' => 'application/xml' } - @rick = { :name => "Rick", :age => 25 }.to_xml(:root => "person") + @matz = { :id => 1, :name => 'Matz' }.to_xml(:root => 'person') + @david = { :id => 2, :name => 'David' }.to_xml(:root => 'person') + @greg = { :id => 3, :name => 'Greg' }.to_xml(:root => 'person') + @addy = { :id => 1, :street => '12345 Street', :country => 'Australia' }.to_xml(:root => 'address') + @rick = { :name => "Rick", :age => 25 }.to_xml(:root => "person") + @joe = { 'person' => { :id => 6, :name => 'Joe' }}.to_json @people = [{ :id => 1, :name => 'Matz' }, { :id => 2, :name => 'David' }].to_xml(:root => 'people') @people_david = [{ :id => 2, :name => 'David' }].to_xml(:root => 'people') - @addresses = [{ :id => 1, :street => '12345 Street', :country => 'Australia' }].to_xml(:root => 'addresses') + @addresses = [{ :id => 1, :street => '12345 Street', :country => 'Australia' }].to_xml(:root => 'addresses') # - deep nested resource - # - Luis (Customer) @@ -66,6 +68,7 @@ class BaseTest < Test::Unit::TestCase ActiveResource::HttpMock.respond_to do |mock| mock.get "/people/1.xml", {}, @matz mock.get "/people/2.xml", {}, @david + mock.get "/people/6.json", {}, @joe mock.get "/people/5.xml", {}, @marty mock.get "/people/Greg.xml", {}, @greg mock.get "/people/4.xml", {'key' => 'value'}, nil, 404 @@ -1012,6 +1015,16 @@ class BaseTest < Test::Unit::TestCase assert xml.include?('<id type="integer">1</id>') end + + def test_to_json_including_root + Person.include_root_in_json = true + Person.format = :json + joe = Person.find(6) + json = joe.encode + Person.format = :xml + assert_equal json, '{"person":{"person":{"name":"Joe","id":6}}}' + end + def test_to_param_quacks_like_active_record new_person = Person.new assert_nil new_person.to_param |