From c5858a6df3efefbab8925623b1e6c064c476fb26 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 23 Nov 2010 11:12:46 -0800 Subject: [PATCH] adding a specific case for clone testing --- activerecord/test/cases/clone_test.rb | 33 +++++++++++++++++++++ activerecord/test/cases/duplication_test.rb | 25 ---------------- 2 files changed, 33 insertions(+), 25 deletions(-) create mode 100644 activerecord/test/cases/clone_test.rb diff --git a/activerecord/test/cases/clone_test.rb b/activerecord/test/cases/clone_test.rb new file mode 100644 index 0000000000..d91646efca --- /dev/null +++ b/activerecord/test/cases/clone_test.rb @@ -0,0 +1,33 @@ +require "cases/helper" +require 'models/topic' + +module ActiveRecord + class CloneTest < ActiveRecord::TestCase + fixtures :topics + + def test_persisted + topic = Topic.first + cloned = topic.clone + assert topic.persisted?, 'topic persisted' + assert cloned.persisted?, 'topic persisted' + assert !cloned.new_record?, 'topic is not new' + end + + def test_stays_frozen + topic = Topic.first + topic.freeze + + cloned = topic.clone + assert cloned.persisted?, 'topic persisted' + assert !cloned.new_record?, 'topic is not new' + assert cloned.frozen?, 'topic should be frozen' + end + + def test_shallow + topic = Topic.first + cloned = topic.clone + topic.author_name = 'Aaron' + assert_equal 'Aaron', cloned.author_name + end + end +end diff --git a/activerecord/test/cases/duplication_test.rb b/activerecord/test/cases/duplication_test.rb index 1ca6e72db0..ecea843bbf 100644 --- a/activerecord/test/cases/duplication_test.rb +++ b/activerecord/test/cases/duplication_test.rb @@ -23,31 +23,6 @@ module ActiveRecord assert_nil duped.id end - def test_clone_persisted - topic = Topic.first - cloned = topic.clone - assert topic.persisted?, 'topic persisted' - assert cloned.persisted?, 'topic persisted' - assert !cloned.new_record?, 'topic is not new' - end - - def test_clone_keeps_frozen - topic = Topic.first - topic.freeze - - cloned = topic.clone - assert cloned.persisted?, 'topic persisted' - assert !cloned.new_record?, 'topic is not new' - assert cloned.frozen?, 'topic should be frozen' - end - - def test_clone_is_shallow - topic = Topic.first - cloned = topic.clone - topic.author_name = 'Aaron' - assert_equal 'Aaron', cloned.author_name - end - def test_dup_with_modified_attributes topic = Topic.first topic.author_name = 'Aaron'