File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -739,6 +739,20 @@ def obj.deconstruct
739
739
RUBY
740
740
end
741
741
742
+ it "checks Constant === object before calling #deconstruct" do
743
+ c1 = Class . new
744
+ obj = c1 . new
745
+ obj . should_not_receive ( :deconstruct )
746
+ eval ( <<~RUBY ) . should == false
747
+ case obj
748
+ in String[1]
749
+ true
750
+ else
751
+ false
752
+ end
753
+ RUBY
754
+ end
755
+
742
756
it "does not match object without #deconstruct method" do
743
757
obj = Object . new
744
758
obj . should_receive ( :respond_to? ) . with ( :deconstruct )
@@ -1068,6 +1082,20 @@ def obj.deconstruct_keys(*)
1068
1082
RUBY
1069
1083
end
1070
1084
1085
+ it "checks Constant === object before calling #deconstruct_keys" do
1086
+ c1 = Class . new
1087
+ obj = c1 . new
1088
+ obj . should_not_receive ( :deconstruct_keys )
1089
+ eval ( <<~RUBY ) . should == false
1090
+ case obj
1091
+ in String(a: 1)
1092
+ true
1093
+ else
1094
+ false
1095
+ end
1096
+ RUBY
1097
+ end
1098
+
1071
1099
it "does not match object without #deconstruct_keys method" do
1072
1100
obj = Object . new
1073
1101
obj . should_receive ( :respond_to? ) . with ( :deconstruct_keys )
You can’t perform that action at this time.
0 commit comments