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/test/t/codegen.rb

    r331 r439  
    7474  assert_equal [2], a
    7575end
     76
     77assert('register window of calls (#3783)') do
     78  # NODE_FOR
     79  assert_nothing_raised do
     80    for i in []; end
     81  end
     82
     83  # NODE_SYMBOLS
     84  assert_nothing_raised do
     85    %i(sym)
     86  end
     87
     88  # NODE_SCALL
     89  assert_nothing_raised do
     90    Object.new&.__id__
     91  end
     92
     93  # NODE_RESCUE with splat
     94  assert_nothing_raised do
     95    begin
     96      raise
     97    rescue *[Exception]
     98    end
     99  end
     100
     101  # NODE_CASE
     102  assert_nothing_raised do
     103    case 1
     104    when nil
     105    end
     106  end
     107
     108  # NODE_CASE with splat
     109  assert_nothing_raised do
     110    case 1
     111    when *nil
     112    end
     113  end
     114
     115  # NODE_HASH
     116  assert_nothing_raised do
     117    {}.merge(
     118        0=>0,     1=>1,     2=>2,     3=>3,     4=>4,     5=>5,     6=>6,     7=>7,     8=>8,     9=>9,
     119       10=>10,   11=>11,   12=>12,   13=>13,   14=>14,   15=>15,   16=>16,   17=>17,   18=>18,   19=>19,
     120       20=>20,   21=>21,   22=>22,   23=>23,   24=>24,   25=>25,   26=>26,   27=>27,   28=>28,   29=>29,
     121       30=>30,   31=>31,   32=>32,   33=>33,   34=>34,   35=>35,   36=>36,   37=>37,   38=>38,   39=>39,
     122       40=>40,   41=>41,   42=>42,   43=>43,   44=>44,   45=>45,   46=>46,   47=>47,   48=>48,   49=>49,
     123       50=>50,   51=>51,   52=>52,   53=>53,   54=>54,   55=>55,   56=>56,   57=>57,   58=>58,   59=>59,
     124       60=>60,   61=>61,   62=>62,   63=>63,   64=>64,   65=>65,   66=>66,   67=>67,   68=>68,   69=>69,
     125       70=>70,   71=>71,   72=>72,   73=>73,   74=>74,   75=>75,   76=>76,   77=>77,   78=>78,   79=>79,
     126       80=>80,   81=>81,   82=>82,   83=>83,   84=>84,   85=>85,   86=>86,   87=>87,   88=>88,   89=>89,
     127       90=>90,   91=>91,   92=>92,   93=>93,   94=>94,   95=>95,   96=>96,   97=>97,   98=>98,   99=>99,
     128      100=>100, 101=>101, 102=>102, 103=>103, 104=>104, 105=>105, 106=>106, 107=>107, 108=>108, 109=>109,
     129      110=>110, 111=>111, 112=>112, 113=>113, 114=>114, 115=>115, 116=>116, 117=>117, 118=>118, 119=>119,
     130      120=>120, 121=>121, 122=>122, 123=>123, 124=>124, 125=>125, 126=>126)
     131  end
     132
     133  # NODE_OP_ASGN
     134  o = Object.new
     135  class << o
     136    attr_accessor :a
     137  end
     138
     139  o.a = 1
     140  assert_nothing_raised{ o.a += 1 }
     141  o.a = 1
     142  assert_nothing_raised{ o.a <<= 1 }
     143  o.a = 1
     144  assert_nothing_raised{ o.a &&= 1 }
     145
     146  o = { k: 1 }
     147  assert_nothing_raised{ o[:k] += 1 }
     148  o = { k: 1 }
     149  assert_nothing_raised{ o[:k] <<= 1 }
     150  o = { k: 1 }
     151  assert_nothing_raised{ o[:k] &&= 1 }
     152
     153  o = { k: 1 }
     154  assert_nothing_raised{ o[*[:k]] += 1 }
     155  o = { k: 1 }
     156  assert_nothing_raised{ o[*[:k]] <<= 1 }
     157  o = { k: 1 }
     158  assert_nothing_raised{ o[*[:k]] &&= 1 }
     159
     160  # NODE_YIELD
     161  def check_node_yield
     162    yield
     163  end
     164  assert_nothing_raised do
     165    check_node_yield{}
     166  end
     167
     168  # NODE_DXSTR
     169  assert_raise(NotImplementedError){ `#{:dynamic}` }
     170
     171  # NODE_XSTR
     172  assert_raise(NotImplementedError){ `static` }
     173
     174  # NODE_DREGX
     175  class Regexp; end
     176  assert_raise(NoMethodError){ /#{'dynamic'}tail/ }
     177  assert_raise(NoMethodError){ /#{'dynamic'}tail/iu }
     178
     179  # NODE_REGX
     180  assert_raise(NoMethodError){ /static/ }
     181  assert_raise(NoMethodError){ /static/iu }
     182  Object.remove_const :Regexp
     183
     184  # NODE_UNDEF
     185  assert_nothing_raised do
     186    class << Object.new
     187      undef inspect
     188    end
     189  end
     190
     191  # NODE_ALIAS
     192  assert_nothing_raised do
     193    class << Object.new
     194      alias inspect2 inspect
     195    end
     196  end
     197end
Note: See TracChangeset for help on using the changeset viewer.