diff --git a/activerecord/test/cases/associations_test.rb b/activerecord/test/cases/associations_test.rb index a9094b7a8b..0f75029215 100644 --- a/activerecord/test/cases/associations_test.rb +++ b/activerecord/test/cases/associations_test.rb @@ -276,7 +276,7 @@ class OverridingAssociationsTest < ActiveRecord::TestCase end class GeneratedMethodsTest < ActiveRecord::TestCase - fixtures :developers, :computers + fixtures :developers, :computers, :posts, :comments def test_association_methods_override_attribute_methods_of_same_name assert_equal(developers(:david), computers(:workstation).developer) # this next line will fail if the attribute methods module is generated lazily @@ -284,4 +284,14 @@ class GeneratedMethodsTest < ActiveRecord::TestCase assert_equal(developers(:david), computers(:workstation).developer) assert_equal(developers(:david).id, computers(:workstation)[:developer]) end -end \ No newline at end of file + + def test_model_method_overrides_association_method + Post.class_eval <<-"RUBY" + has_one :first_comment, :class_name => 'Comment', :order => 'id ASC' + def first_comment + super.body + end + RUBY + assert_equal(comments(:greetings).body, posts(:welcome).first_comment) + end +end