diff options
author | Jon Leighton <j@jonathanleighton.com> | 2012-08-03 19:36:37 +0100 |
---|---|---|
committer | Jon Leighton <j@jonathanleighton.com> | 2012-08-03 19:36:37 +0100 |
commit | 5fe923cc341b5487fff2b7f2862829367ebd5102 (patch) | |
tree | 7d67991ab3a2389aac706f1561a9ca8a63e4e88b /activerecord/test | |
parent | 6fe119650c4e18b68b85edea3761837bc6a8c921 (diff) | |
download | rails-5fe923cc341b5487fff2b7f2862829367ebd5102.tar.gz rails-5fe923cc341b5487fff2b7f2862829367ebd5102.tar.bz2 rails-5fe923cc341b5487fff2b7f2862829367ebd5102.zip |
Make ActiveRecord::Model::DeprecationProxy work better
Closes #6600
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/inclusion_test.rb | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/activerecord/test/cases/inclusion_test.rb b/activerecord/test/cases/inclusion_test.rb index 9b9c09d2d8..8f095e4953 100644 --- a/activerecord/test/cases/inclusion_test.rb +++ b/activerecord/test/cases/inclusion_test.rb @@ -84,8 +84,10 @@ class InclusionUnitTest < ActiveRecord::TestCase end def test_deprecation_proxy - assert_equal ActiveRecord::Model.name, ActiveRecord::Model::DeprecationProxy.name - assert_equal ActiveRecord::Base.superclass, assert_deprecated { ActiveRecord::Model::DeprecationProxy.superclass } + proxy = ActiveRecord::Model::DeprecationProxy.new + + assert_equal ActiveRecord::Model.name, proxy.name + assert_equal ActiveRecord::Base.superclass, assert_deprecated { proxy.superclass } sup, sup2 = nil, nil ActiveSupport.on_load(:__test_active_record_model_deprecation) do @@ -93,11 +95,29 @@ class InclusionUnitTest < ActiveRecord::TestCase sup2 = send(:superclass) end assert_deprecated do - ActiveSupport.run_load_hooks(:__test_active_record_model_deprecation, ActiveRecord::Model::DeprecationProxy) + ActiveSupport.run_load_hooks(:__test_active_record_model_deprecation, proxy) end assert_equal ActiveRecord::Base.superclass, sup assert_equal ActiveRecord::Base.superclass, sup2 end + + test "including in deprecation proxy" do + model, base = ActiveRecord::Model.dup, ActiveRecord::Base.dup + proxy = ActiveRecord::Model::DeprecationProxy.new(model, base) + + mod = Module.new + proxy.include mod + assert model < mod + end + + test "extending in deprecation proxy" do + model, base = ActiveRecord::Model.dup, ActiveRecord::Base.dup + proxy = ActiveRecord::Model::DeprecationProxy.new(model, base) + + mod = Module.new + assert_deprecated { proxy.extend mod } + assert base.singleton_class < mod + end end class InclusionFixturesTest < ActiveRecord::TestCase |