Changeset 439 for EcnlProtoTool/trunk/mruby-2.1.1/test/t/codegen.rb
- 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/test/t/codegen.rb
r331 r439 74 74 assert_equal [2], a 75 75 end 76 77 assert('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 197 end
Note:
See TracChangeset
for help on using the changeset viewer.