aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorArthur Neves <arthurnn@gmail.com>2014-06-16 18:25:09 -0400
committerArthur Neves <arthurnn@gmail.com>2014-06-24 11:31:43 -0400
commitc965de396f1bd7457159306f1fc10342840fdf86 (patch)
treeaac623c186c704db7fbf1644596ab7751581b1ae /activerecord/test
parenta1bd00d5be4f5bef34a259a053a00edede2cd2b5 (diff)
downloadrails-c965de396f1bd7457159306f1fc10342840fdf86.tar.gz
rails-c965de396f1bd7457159306f1fc10342840fdf86.tar.bz2
rails-c965de396f1bd7457159306f1fc10342840fdf86.zip
Dont swallow errors when bad alias_method
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/base_test.rb22
1 files changed, 20 insertions, 2 deletions
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb
index 8f83cf7cb4..4c0b0c868a 100644
--- a/activerecord/test/cases/base_test.rb
+++ b/activerecord/test/cases/base_test.rb
@@ -1347,14 +1347,32 @@ class BasicsTest < ActiveRecord::TestCase
end
def test_compute_type_no_method_error
- ActiveSupport::Dependencies.stubs(:constantize).raises(NoMethodError)
+ ActiveSupport::Dependencies.stubs(:safe_constantize).raises(NoMethodError)
assert_raises NoMethodError do
ActiveRecord::Base.send :compute_type, 'InvalidModel'
end
end
+ def test_compute_type_on_undefined_method
+ error = nil
+ begin
+ Class.new(Author) do
+ alias_method :foo, :bar
+ end
+ rescue => e
+ error = e
+ end
+
+ ActiveSupport::Dependencies.stubs(:safe_constantize).raises(e)
+
+ exception = assert_raises NameError do
+ ActiveRecord::Base.send :compute_type, 'InvalidModel'
+ end
+ assert_equal error.message, exception.message
+ end
+
def test_compute_type_argument_error
- ActiveSupport::Dependencies.stubs(:constantize).raises(ArgumentError)
+ ActiveSupport::Dependencies.stubs(:safe_constantize).raises(ArgumentError)
assert_raises ArgumentError do
ActiveRecord::Base.send :compute_type, 'InvalidModel'
end