- Timestamp:
- Jul 9, 2020, 8:51:43 AM (4 years ago)
- Location:
- EcnlProtoTool/trunk/mruby-2.1.1
- Files:
-
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/mruby-2.1.1/mrbgems/mruby-eval/test/eval.rb
r331 r439 35 35 assert_equal(2) { 36 36 a = 10 37 Kernel.eval 'def f(a); b=a .send(:+, 1); end'37 Kernel.eval 'def f(a); b=a+1; end' 38 38 f(1) 39 39 } … … 59 59 assert('String instance_eval') do 60 60 obj = Object.new 61 obj.instance_ variable_set :@test, 'test'61 obj.instance_eval{ @test = 'test' } 62 62 assert_raise(ArgumentError) { obj.instance_eval(0) { } } 63 63 assert_raise(ArgumentError) { obj.instance_eval('0', 'test', 0, 'test') } … … 81 81 end 82 82 83 assert(' Object#instance_eval with begin-rescue-ensure execution order') do83 assert('BasicObject#instance_eval with begin-rescue-ensure execution order') do 84 84 class HellRaiser 85 85 def raise_hell … … 100 100 assert_equal([:enter_raise_hell, :begin, :rescue, :ensure], hell_raiser.raise_hell) 101 101 end 102 103 assert('BasicObject#instance_eval to define singleton methods Issue #3141') do 104 foo_class = Class.new do 105 def bar(x) 106 instance_eval "def baz; #{x}; end" 107 end 108 end 109 110 f1 = foo_class.new 111 f2 = foo_class.new 112 f1.bar 1 113 f2.bar 2 114 assert_equal(1){f1.baz} 115 assert_equal(2){f2.baz} 116 end 117 118 assert('Kernel.#eval(string) Issue #4021') do 119 assert_equal('FOO') { (eval <<'EOS').call } 120 foo = "FOO" 121 Proc.new { foo } 122 EOS 123 assert_equal('FOO') { 124 def do_eval(code) 125 eval(code) 126 end 127 do_eval(<<'EOS').call 128 foo = "FOO" 129 Proc.new { foo } 130 EOS 131 } 132 end
Note:
See TracChangeset
for help on using the changeset viewer.