From 3e58f8e19117346ce459b7531379525d3143608a Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Thu, 30 Jul 2009 00:07:10 -0500 Subject: Restore DangerousAttributeError --- activerecord/test/cases/attribute_methods_test.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'activerecord/test/cases/attribute_methods_test.rb') diff --git a/activerecord/test/cases/attribute_methods_test.rb b/activerecord/test/cases/attribute_methods_test.rb index 77e406bbba..183be1e2f9 100644 --- a/activerecord/test/cases/attribute_methods_test.rb +++ b/activerecord/test/cases/attribute_methods_test.rb @@ -74,6 +74,10 @@ class AttributeMethodsTest < ActiveRecord::TestCase end end + def test_primary_key_implemented + assert Class.new(ActiveRecord::Base).instance_method_already_implemented?('id') + end + def test_defined_kernel_methods_implemented_in_model %w(test name display y).each do |method| klass = Class.new ActiveRecord::Base @@ -92,6 +96,16 @@ class AttributeMethodsTest < ActiveRecord::TestCase end end + def test_raises_dangerous_attribute_error_when_defining_activerecord_method_in_model + %w(save create_or_update).each do |method| + klass = Class.new ActiveRecord::Base + klass.class_eval "def #{method}() 'defined #{method}' end" + assert_raise ActiveRecord::DangerousAttributeError do + klass.instance_method_already_implemented?(method) + end + end + end + def test_only_time_related_columns_are_meant_to_be_cached_by_default expected = %w(datetime timestamp time date).sort assert_equal expected, ActiveRecord::Base.attribute_types_cached_by_default.map(&:to_s).sort -- cgit v1.2.3