21 lines
496 B
Ruby
21 lines
496 B
Ruby
![]() |
require 'testing_env'
|
||
|
require 'extend/object'
|
||
|
|
||
|
class InstanceExecTests < Test::Unit::TestCase
|
||
|
def test_evaluates_in_context_of_receiver
|
||
|
assert_equal 1, [1].instance_exec { first }
|
||
|
end
|
||
|
|
||
|
def test_passes_arguments_to_block
|
||
|
assert_equal 2, [1].instance_exec(1) { |x| first + x }
|
||
|
end
|
||
|
|
||
|
def test_does_not_persist_temporary_singleton_method
|
||
|
obj = Object.new
|
||
|
before = obj.methods
|
||
|
obj.instance_exec { methods }
|
||
|
after = obj.methods
|
||
|
assert_equal before, after
|
||
|
end
|
||
|
end
|