diff options
author | Cody Fauser <codyfauser@gmail.com> | 2008-10-07 12:05:41 -0400 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2008-10-07 17:48:02 +0100 |
commit | f2c10f27565318b5efbdc57fb608b2afe9ae445d (patch) | |
tree | 584cc6362342480d2c6b576d86bc9a539f8d3043 /activeresource/test | |
parent | dce6ade4cdc2833b53bd600ef10f9bce83c7102d (diff) | |
download | rails-f2c10f27565318b5efbdc57fb608b2afe9ae445d.tar.gz rails-f2c10f27565318b5efbdc57fb608b2afe9ae445d.tar.bz2 rails-f2c10f27565318b5efbdc57fb608b2afe9ae445d.zip |
Add ActiveResource::Base#to_xml and ActiveResource::Base#to_json methods. [#1011 state:resolved]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
Diffstat (limited to 'activeresource/test')
-rw-r--r-- | activeresource/test/format_test.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/activeresource/test/format_test.rb b/activeresource/test/format_test.rb index 365576a092..a564ee01b5 100644 --- a/activeresource/test/format_test.rb +++ b/activeresource/test/format_test.rb @@ -1,5 +1,6 @@ require 'abstract_unit' require "fixtures/person" +require "fixtures/street_address" class FormatTest < Test::Unit::TestCase def setup @@ -83,6 +84,22 @@ class FormatTest < Test::Unit::TestCase assert_equal ActiveResource::Formats[:json], resource.connection.format end + def test_serialization_of_nested_resource + address = { :street => '12345 Street' } + person = { :name=> 'Rus', :address => address} + + [:json, :xml].each do |format| + encoded_person = ActiveResource::Formats[format].encode(person) + assert_match /12345 Street/, encoded_person + remote_person = Person.new(person.update({:address => StreetAddress.new(address)})) + assert_kind_of StreetAddress, remote_person.address + using_format(Person, format) do + ActiveResource::HttpMock.respond_to.post "/people.#{format}", {'Content-Type' => ActiveResource::Formats[format].mime_type}, encoded_person, 201, {'Location' => "/people/5.#{format}"} + remote_person.save + end + end + end + private def using_format(klass, mime_type_reference) previous_format = klass.format |