Permalink
Browse files

Merge branch 'master' of github.com:rails/rails

  • Loading branch information...
guilleiguaran committed Dec 27, 2013
2 parents ef28028 + 4fd3204 commit 04108f214c9bc43c2cd139f46718395c062bed46
Showing with 15 additions and 0 deletions.
  1. +1 −0 activerecord/lib/active_record/persistence.rb
  2. +14 −0 activerecord/test/cases/persistence_test.rb
@@ -181,6 +181,7 @@ def becomes(klass)
became = klass.new
became.instance_variable_set("@attributes", @attributes)
became.instance_variable_set("@attributes_cache", @attributes_cache)
became.instance_variable_set("@changed_attributes", @changed_attributes)
became.instance_variable_set("@new_record", new_record?)
became.instance_variable_set("@destroyed", destroyed?)
became.instance_variable_set("@errors", errors)
@@ -152,6 +152,20 @@ def test_becomes_includes_errors
assert_equal original_errors, client.errors
end
def test_dupd_becomes_persists_changes_from_the_original
original = topics(:first)
copy = original.dup.becomes(Reply)
copy.save!
assert_equal "The First Topic", Topic.find(copy.id).title
end
def test_becomes_includes_changed_attributes
company = Company.new(name: "37signals")
client = company.becomes(Client)
assert_equal "37signals", client.name
assert_equal %w{name}, client.changed
end
def test_delete_many
original_count = Topic.count
Topic.delete(deleting = [1, 2])

0 comments on commit 04108f2

Please sign in to comment.