Changeset 439 for EcnlProtoTool/trunk/mruby-2.1.1/mrbgems/mruby-struct/test
- 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-struct/test/struct.rb
r331 r439 10 10 assert_equal Struct, c.superclass 11 11 assert_equal [:m1, :m2], c.members 12 end13 14 # Check crash bug with Struc.new and no params.15 assert('Struct.new', '15.2.18.3.1') do16 c = Struct.new()17 assert_equal Struct, c.superclass18 assert_equal [], c.members19 12 end 20 13 … … 124 117 125 118 assert('struct inspect') do 126 c = Struct.new(:m1, :m2, :m3, :m4, :m5) 127 cc = c.new(1,2,3,4,5) 128 assert_equal "#<struct m1=1, m2=2, m3=3, m4=4, m5=5>", cc.inspect 119 c = Struct.new(:m1, :m2, :m3, :m4, :m5, :recur) 120 cc = c.new(1,2,3,4,5,nil) 121 cc.recur = cc 122 assert_equal "#<struct m1=1, m2=2, m3=3, m4=4, m5=5, recur=#<struct #{cc.class}:...>>", cc.inspect 129 123 end 130 124 … … 160 154 end 161 155 162 assert("Struct.new removes existing constant") do 163 skip "redefining Struct with same name cause warnings" 164 begin165 assert_not_equal Struct.new("Test", :a), Struct.new("Test", :a, :b)166 ensure167 Struct.remove_const :Test168 end169 end156 # TODO: suppress redefining Struct warning during test 157 # assert("Struct.new removes existing constant") do 158 # begin 159 # assert_not_equal Struct.new("Test", :a), Struct.new("Test", :a, :b) 160 # ensure 161 # Struct.remove_const :Test 162 # end 163 # end 170 164 171 165 assert("Struct#initialize_copy requires struct to be the same type") do … … 189 183 end 190 184 185 assert("Struct.new does not allow invalid class name") do 186 assert_raise(NameError) { Struct.new("Test-", :a) } 187 end 188 191 189 assert("Struct.new generates subclass of Struct") do 192 190 begin 193 191 original_struct = Struct 194 192 Struct = String 195 assert_equal original_struct, original_struct.new .superclass193 assert_equal original_struct, original_struct.new(:foo).superclass 196 194 ensure 197 195 Struct = original_struct … … 207 205 208 206 o.freeze 209 assert_raise( RuntimeError) { o.m = :modify }210 assert_raise( RuntimeError) { o[:m] = :modify }207 assert_raise(FrozenError) { o.m = :modify } 208 assert_raise(FrozenError) { o[:m] = :modify } 211 209 assert_equal :test, o.m 212 210 end
Note:
See TracChangeset
for help on using the changeset viewer.