Project

General

Profile

Download (936 Bytes) Statistics
| Branch: | Tag: | Revision:
require 'test_helper'

class DummyClonable
include SelectiveClone

include_in_clone [:a, :b]
exclude_from_clone [:c, :d]
end

class SelectiveCloneTest < ActiveSupport::TestCase
describe 'include SelectiveClone' do
setup do
@dummy = DummyClonable.new
end

test "it uses deep_clone with parameters specified in class" do
@dummy.expects(:deep_clone) do |actual|
assert_equal [:a, :b], actual[:include]
assert_equal [:c, :d], actual[:except]
true
end

@dummy.selective_clone
end

test "it uses deep_clone with parameters specified in class" do
@dummy.class_eval do
include_in_clone [:e]
exclude_from_clone [:f]
end

@dummy.expects(:deep_clone) do |actual|
assert_equal [:a, :b, :e], actual[:include]
assert_equal [:c, :d, :f], actual[:except]
true
end

@dummy.selective_clone
end
end
end
(14-14/14)