diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2011-05-14 21:52:31 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2011-05-14 21:52:31 -0700 |
commit | 5d24c3c8c58ffa3c617972b17fdfca53ee34e44d (patch) | |
tree | 172b83f25c7d7dd159c2fe60c7684099ef3062ad /actionpack/test | |
parent | 7e6145b4a2108a4ad94af02c3070789c03ccbd00 (diff) | |
parent | 3bed43c6a539638d2d4b3bc3ee7ffe5cca41a320 (diff) | |
download | rails-5d24c3c8c58ffa3c617972b17fdfca53ee34e44d.tar.gz rails-5d24c3c8c58ffa3c617972b17fdfca53ee34e44d.tar.bz2 rails-5d24c3c8c58ffa3c617972b17fdfca53ee34e44d.zip |
Merge pull request #564 from sikachu/fix_wrapper
Do not try to call `column_names` on the abstract class.
Diffstat (limited to 'actionpack/test')
-rw-r--r-- | actionpack/test/controller/params_wrapper_test.rb | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/actionpack/test/controller/params_wrapper_test.rb b/actionpack/test/controller/params_wrapper_test.rb index 85464fc780..bed4a6a553 100644 --- a/actionpack/test/controller/params_wrapper_test.rb +++ b/actionpack/test/controller/params_wrapper_test.rb @@ -133,6 +133,7 @@ class ParamsWrapperTest < ActionController::TestCase end def test_derived_wrapped_keys_from_matching_model + User.expects(:respond_to?).with(:abstract_class?).returns(false) User.expects(:respond_to?).with(:column_names).returns(true) User.expects(:column_names).returns(["username"]) @@ -145,6 +146,7 @@ class ParamsWrapperTest < ActionController::TestCase def test_derived_wrapped_keys_from_specified_model with_default_wrapper_options do + Person.expects(:respond_to?).with(:abstract_class?).returns(false) Person.expects(:respond_to?).with(:column_names).returns(true) Person.expects(:column_names).returns(["username"]) @@ -156,6 +158,17 @@ class ParamsWrapperTest < ActionController::TestCase end end + def test_not_wrapping_abstract_model + User.expects(:respond_to?).with(:abstract_class?).returns(true) + User.expects(:abstract_class?).returns(true) + + with_default_wrapper_options do + @request.env['CONTENT_TYPE'] = 'application/json' + post :parse, { 'username' => 'sikachu', 'title' => 'Developer' } + assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer', 'user' => { 'username' => 'sikachu', 'title' => 'Developer' }}) + end + end + private def with_default_wrapper_options(&block) @controller.class._wrapper_options = {:format => [:json]} @@ -246,4 +259,4 @@ class NamespacedParamsWrapperTest < ActionController::TestCase def assert_parameters(expected) assert_equal expected, Admin::Users::UsersController.last_parameters end -end
\ No newline at end of file +end |