rails--rails/activesupport/test/core_ext/duplicable_test.rb

25 lines
526 B
Ruby

require 'abstract_unit'
require 'bigdecimal'
require 'active_support/core_ext/object/duplicable'
class DuplicableTest < Test::Unit::TestCase
NO = [nil, false, true, :symbol, 1, 2.3, BigDecimal.new('4.56'), Class.new]
YES = ['1', Object.new, /foo/, [], {}, Time.now]
def test_duplicable
NO.each do |v|
assert !v.duplicable?
begin
v.dup
fail
rescue Exception
end
end
YES.each do |v|
assert v.duplicable?
assert_nothing_raised { v.dup }
end
end
end