From d815ca26f5ee94256f36a37bda6e86be37a118a3 Mon Sep 17 00:00:00 2001 From: Akshay Vishnoi Date: Sun, 13 Apr 2014 12:32:00 +0530 Subject: Move tests for deep_dup and duplicable to object directory --- activesupport/test/core_ext/deep_dup_test.rb | 53 ---------------------- activesupport/test/core_ext/duplicable_test.rb | 38 ---------------- .../test/core_ext/object/deep_dup_test.rb | 53 ++++++++++++++++++++++ .../test/core_ext/object/duplicable_test.rb | 38 ++++++++++++++++ 4 files changed, 91 insertions(+), 91 deletions(-) delete mode 100644 activesupport/test/core_ext/deep_dup_test.rb delete mode 100644 activesupport/test/core_ext/duplicable_test.rb create mode 100644 activesupport/test/core_ext/object/deep_dup_test.rb create mode 100644 activesupport/test/core_ext/object/duplicable_test.rb (limited to 'activesupport') diff --git a/activesupport/test/core_ext/deep_dup_test.rb b/activesupport/test/core_ext/deep_dup_test.rb deleted file mode 100644 index 91d558dbb5..0000000000 --- a/activesupport/test/core_ext/deep_dup_test.rb +++ /dev/null @@ -1,53 +0,0 @@ -require 'abstract_unit' -require 'active_support/core_ext/object' - -class DeepDupTest < ActiveSupport::TestCase - - def test_array_deep_dup - array = [1, [2, 3]] - dup = array.deep_dup - dup[1][2] = 4 - assert_equal nil, array[1][2] - assert_equal 4, dup[1][2] - end - - def test_hash_deep_dup - hash = { :a => { :b => 'b' } } - dup = hash.deep_dup - dup[:a][:c] = 'c' - assert_equal nil, hash[:a][:c] - assert_equal 'c', dup[:a][:c] - end - - def test_array_deep_dup_with_hash_inside - array = [1, { :a => 2, :b => 3 } ] - dup = array.deep_dup - dup[1][:c] = 4 - assert_equal nil, array[1][:c] - assert_equal 4, dup[1][:c] - end - - def test_hash_deep_dup_with_array_inside - hash = { :a => [1, 2] } - dup = hash.deep_dup - dup[:a][2] = 'c' - assert_equal nil, hash[:a][2] - assert_equal 'c', dup[:a][2] - end - - def test_deep_dup_initialize - zero_hash = Hash.new 0 - hash = { :a => zero_hash } - dup = hash.deep_dup - assert_equal 0, dup[:a][44] - end - - def test_object_deep_dup - object = Object.new - dup = object.deep_dup - dup.instance_variable_set(:@a, 1) - assert !object.instance_variable_defined?(:@a) - assert dup.instance_variable_defined?(:@a) - end - -end diff --git a/activesupport/test/core_ext/duplicable_test.rb b/activesupport/test/core_ext/duplicable_test.rb deleted file mode 100644 index e0566e012c..0000000000 --- a/activesupport/test/core_ext/duplicable_test.rb +++ /dev/null @@ -1,38 +0,0 @@ -require 'abstract_unit' -require 'bigdecimal' -require 'active_support/core_ext/object/duplicable' -require 'active_support/core_ext/numeric/time' - -class DuplicableTest < ActiveSupport::TestCase - RAISE_DUP = [nil, false, true, :symbol, 1, 2.3, 5.seconds] - YES = ['1', Object.new, /foo/, [], {}, Time.now, Class.new, Module.new] - NO = [] - - begin - bd = BigDecimal.new('4.56') - YES << bd.dup - rescue TypeError - RAISE_DUP << bd - end - - - def test_duplicable - (RAISE_DUP + NO).each do |v| - assert !v.duplicable? - end - - YES.each do |v| - assert v.duplicable?, "#{v.class} should be duplicable" - end - - (YES + NO).each do |v| - assert_nothing_raised { v.dup } - end - - RAISE_DUP.each do |v| - assert_raises(TypeError, v.class.name) do - v.dup - end - end - end -end diff --git a/activesupport/test/core_ext/object/deep_dup_test.rb b/activesupport/test/core_ext/object/deep_dup_test.rb new file mode 100644 index 0000000000..91d558dbb5 --- /dev/null +++ b/activesupport/test/core_ext/object/deep_dup_test.rb @@ -0,0 +1,53 @@ +require 'abstract_unit' +require 'active_support/core_ext/object' + +class DeepDupTest < ActiveSupport::TestCase + + def test_array_deep_dup + array = [1, [2, 3]] + dup = array.deep_dup + dup[1][2] = 4 + assert_equal nil, array[1][2] + assert_equal 4, dup[1][2] + end + + def test_hash_deep_dup + hash = { :a => { :b => 'b' } } + dup = hash.deep_dup + dup[:a][:c] = 'c' + assert_equal nil, hash[:a][:c] + assert_equal 'c', dup[:a][:c] + end + + def test_array_deep_dup_with_hash_inside + array = [1, { :a => 2, :b => 3 } ] + dup = array.deep_dup + dup[1][:c] = 4 + assert_equal nil, array[1][:c] + assert_equal 4, dup[1][:c] + end + + def test_hash_deep_dup_with_array_inside + hash = { :a => [1, 2] } + dup = hash.deep_dup + dup[:a][2] = 'c' + assert_equal nil, hash[:a][2] + assert_equal 'c', dup[:a][2] + end + + def test_deep_dup_initialize + zero_hash = Hash.new 0 + hash = { :a => zero_hash } + dup = hash.deep_dup + assert_equal 0, dup[:a][44] + end + + def test_object_deep_dup + object = Object.new + dup = object.deep_dup + dup.instance_variable_set(:@a, 1) + assert !object.instance_variable_defined?(:@a) + assert dup.instance_variable_defined?(:@a) + end + +end diff --git a/activesupport/test/core_ext/object/duplicable_test.rb b/activesupport/test/core_ext/object/duplicable_test.rb new file mode 100644 index 0000000000..e0566e012c --- /dev/null +++ b/activesupport/test/core_ext/object/duplicable_test.rb @@ -0,0 +1,38 @@ +require 'abstract_unit' +require 'bigdecimal' +require 'active_support/core_ext/object/duplicable' +require 'active_support/core_ext/numeric/time' + +class DuplicableTest < ActiveSupport::TestCase + RAISE_DUP = [nil, false, true, :symbol, 1, 2.3, 5.seconds] + YES = ['1', Object.new, /foo/, [], {}, Time.now, Class.new, Module.new] + NO = [] + + begin + bd = BigDecimal.new('4.56') + YES << bd.dup + rescue TypeError + RAISE_DUP << bd + end + + + def test_duplicable + (RAISE_DUP + NO).each do |v| + assert !v.duplicable? + end + + YES.each do |v| + assert v.duplicable?, "#{v.class} should be duplicable" + end + + (YES + NO).each do |v| + assert_nothing_raised { v.dup } + end + + RAISE_DUP.each do |v| + assert_raises(TypeError, v.class.name) do + v.dup + end + end + end +end -- cgit v1.2.3