mirror of https://github.com/rails/rails
parent
dff0dfb7f8
commit
4718d097ff
|
@ -1585,9 +1585,9 @@ MSG
|
|||
# Returns true if the +comparison_object+ is the same object, or is of the same type and has the same id.
|
||||
def ==(comparison_object)
|
||||
comparison_object.equal?(self) ||
|
||||
persisted? &&
|
||||
(comparison_object.instance_of?(self.class) &&
|
||||
comparison_object.id == id)
|
||||
comparison_object.instance_of?(self.class) &&
|
||||
id.present? &&
|
||||
comparison_object.id == id
|
||||
end
|
||||
|
||||
# Delegates to ==
|
||||
|
|
|
@ -397,6 +397,15 @@ class BasicsTest < ActiveRecord::TestCase
|
|||
assert_not_equal Topic.new, Topic.new
|
||||
end
|
||||
|
||||
def test_equality_of_destroyed_records
|
||||
topic_1 = Topic.new(:title => 'test_1')
|
||||
topic_1.save
|
||||
topic_2 = Topic.find(topic_1.id)
|
||||
topic_1.destroy
|
||||
assert_equal topic_1, topic_2
|
||||
assert_equal topic_2, topic_1
|
||||
end
|
||||
|
||||
def test_hashing
|
||||
assert_equal [ Topic.find(1) ], [ Topic.find(2).topic ] & [ Topic.find(1) ]
|
||||
end
|
||||
|
|
|
@ -122,7 +122,7 @@ class NamedScopeTest < ActiveRecord::TestCase
|
|||
:joins => 'JOIN authors ON authors.id = posts.author_id',
|
||||
:conditions => [ 'authors.author_address_id = ?', address.id ]
|
||||
)
|
||||
assert_equal posts_with_authors_at_address_titles, Post.with_authors_at_address(address).find(:all, :select => 'title')
|
||||
assert_equal posts_with_authors_at_address_titles.map(&:title), Post.with_authors_at_address(address).find(:all, :select => 'title').map(&:title)
|
||||
end
|
||||
|
||||
def test_scope_with_object
|
||||
|
|
Loading…
Reference in New Issue