@@ -96,6 +96,18 @@ def test_def_instance_delegators_using_block_method_as_receiver
9696 end
9797 end
9898
99+ def test_def_instance_delegators_send_id
100+ %i[ def_delegators def_instance_delegators ] . each do |m |
101+ cls = forwardable_class do
102+ attr_reader :receiver
103+ __send__ m , :@receiver , :__send__ , :__id__
104+ end
105+
106+ assert_not_equal cls . new . __id__ , cls . new . receiver . __id__
107+ assert_not_equal cls . new . __send__ ( :__id__ ) , cls . new . receiver . __send__ ( :__id__ )
108+ end
109+ end
110+
99111 def test_instance_delegate
100112 %i[ delegate instance_delegate ] . each do |m |
101113 cls = forwardable_class do
@@ -204,6 +216,18 @@ def test_obj_single_delegators
204216 end
205217 end
206218
219+ def test_obj_single_delegators_send_id
220+ %i[ def_delegators def_single_delegators ] . each do |m |
221+ obj = single_forwardable_object do
222+ singleton_class . attr_reader :receiver
223+ __send__ m , :@receiver , :__send__ , :__id__
224+ end
225+
226+ assert_not_equal obj . __id__ , obj . receiver . __id__
227+ assert_not_equal obj . __send__ ( :__id__ ) , obj . receiver . __send__ ( :__id__ )
228+ end
229+ end
230+
207231 def test_obj_single_delegate
208232 %i[ delegate single_delegate ] . each do |m |
209233 obj = single_forwardable_object do
0 commit comments