diff options
author | Dmitry Polushkin <dmitry.polushkin@gmail.com> | 2011-09-15 09:39:26 +0100 |
---|---|---|
committer | Dmitry Polushkin <dmitry.polushkin@gmail.com> | 2011-09-15 09:39:26 +0100 |
commit | 9d54f8994d09db5435d6c234430ae13333928fb9 (patch) | |
tree | 12413c10ed50c181f5bea0980edca998e72969bb /activeresource/test/cases | |
parent | edd2f21e8095fe4a38e812025b4d9fd0e0cc28f1 (diff) | |
parent | da7f0426ec7b0aa053489633c2a8a3da6423654f (diff) | |
download | rails-9d54f8994d09db5435d6c234430ae13333928fb9.tar.gz rails-9d54f8994d09db5435d6c234430ae13333928fb9.tar.bz2 rails-9d54f8994d09db5435d6c234430ae13333928fb9.zip |
Merge branch 'master' of git://github.com/rails/rails
Diffstat (limited to 'activeresource/test/cases')
-rw-r--r-- | activeresource/test/cases/base/load_test.rb | 4 | ||||
-rw-r--r-- | activeresource/test/cases/base_test.rb | 30 |
2 files changed, 29 insertions, 5 deletions
diff --git a/activeresource/test/cases/base/load_test.rb b/activeresource/test/cases/base/load_test.rb index 0bbd3ab5f5..784e7dd036 100644 --- a/activeresource/test/cases/base/load_test.rb +++ b/activeresource/test/cases/base/load_test.rb @@ -66,11 +66,11 @@ class BaseLoadTest < Test::Unit::TestCase end def test_load_hash_with_integers_as_keys - assert_nothing_raised{person = @person.load(@books)} + assert_nothing_raised{@person.load(@books)} end def test_load_hash_with_dates_as_keys - assert_nothing_raised{person = @person.load(@books_date)} + assert_nothing_raised{@person.load(@books_date)} end def test_load_expects_hash diff --git a/activeresource/test/cases/base_test.rb b/activeresource/test/cases/base_test.rb index f45652d988..d4063fa299 100644 --- a/activeresource/test/cases/base_test.rb +++ b/activeresource/test/cases/base_test.rb @@ -636,13 +636,37 @@ class BaseTest < Test::Unit::TestCase assert_nil p.__send__(:id_from_response, resp) end - def test_load_attributes_from_response - p = Person.new + def test_not_persisted_with_no_body_and_positive_content_length resp = ActiveResource::Response.new(nil) resp['Content-Length'] = "100" - assert_nil p.__send__(:load_attributes_from_response, resp) + Person.connection.expects(:post).returns(resp) + assert !Person.create.persisted? + end + + def test_not_persisted_with_body_and_zero_content_length + resp = ActiveResource::Response.new(@rick) + resp['Content-Length'] = "0" + Person.connection.expects(:post).returns(resp) + assert !Person.create.persisted? end + # These response codes aren't allowed to have bodies per HTTP spec + def test_not_persisted_with_empty_response_codes + [100,101,204,304].each do |status_code| + resp = ActiveResource::Response.new(@rick, status_code) + Person.connection.expects(:post).returns(resp) + assert !Person.create.persisted? + end + end + + # Content-Length is not required by HTTP 1.1, so we should read + # the body anyway in its absence. + def test_persisted_with_no_content_length + resp = ActiveResource::Response.new(@rick) + resp['Content-Length'] = nil + Person.connection.expects(:post).returns(resp) + assert Person.create.persisted? + end def test_create_with_custom_prefix matzs_house = StreetAddress.new(:person_id => 1) |