Ignore:
Timestamp:
Jul 9, 2020, 8:51:43 AM (4 years ago)
Author:
coas-nagasima
Message:

mrubyを2.1.1に更新

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  
    3535  assert_equal(2) {
    3636    a = 10
    37     Kernel.eval 'def f(a); b=a.send(:+, 1); end'
     37    Kernel.eval 'def f(a); b=a+1; end'
    3838    f(1)
    3939  }
     
    5959assert('String instance_eval') do
    6060  obj = Object.new
    61   obj.instance_variable_set :@test, 'test'
     61  obj.instance_eval{ @test = 'test' }
    6262  assert_raise(ArgumentError) { obj.instance_eval(0) { } }
    6363  assert_raise(ArgumentError) { obj.instance_eval('0', 'test', 0, 'test') }
     
    8181end
    8282
    83 assert('Object#instance_eval with begin-rescue-ensure execution order') do
     83assert('BasicObject#instance_eval with begin-rescue-ensure execution order') do
    8484  class HellRaiser
    8585    def raise_hell
     
    100100  assert_equal([:enter_raise_hell, :begin, :rescue, :ensure], hell_raiser.raise_hell)
    101101end
     102
     103assert('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}
     116end
     117
     118assert('Kernel.#eval(string) Issue #4021') do
     119  assert_equal('FOO') { (eval <<'EOS').call }
     120foo = "FOO"
     121Proc.new { foo }
     122EOS
     123  assert_equal('FOO') {
     124    def do_eval(code)
     125      eval(code)
     126    end
     127    do_eval(<<'EOS').call
     128foo = "FOO"
     129Proc.new { foo }
     130EOS
     131  }
     132end
Note: See TracChangeset for help on using the changeset viewer.