Skip to content

Commit 930558b

Browse files
andrykonchineregon
authored andcommitted
Address comments
1 parent b088986 commit 930558b

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

core/kernel/clone_spec.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,14 @@ def klass.allocate
136136
end
137137
end
138138

139+
describe "with freeze: anything else" do
140+
it 'raises ArgumentError when passed not true/false/nil' do
141+
-> { @obj.clone(freeze: 1) }.should raise_error(ArgumentError, /unexpected value for freeze: Integer/)
142+
-> { @obj.clone(freeze: "") }.should raise_error(ArgumentError, /unexpected value for freeze: String/)
143+
-> { @obj.clone(freeze: Object.new) }.should raise_error(ArgumentError, /unexpected value for freeze: Object/)
144+
end
145+
end
146+
139147
it "copies instance variables" do
140148
clone = @obj.clone
141149
clone.one.should == 1

core/numeric/clone_spec.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,9 @@
2222
it "raises ArgumentError if passed freeze: false" do
2323
-> { 1.clone(freeze: false) }.should raise_error(ArgumentError, /can't unfreeze/)
2424
end
25+
26+
it "does not change frozen status if passed freeze: nil" do
27+
value = 1
28+
value.clone(freeze: nil).should equal(value)
29+
end
2530
end

0 commit comments

Comments
 (0)