Changeset 331 for EcnlProtoTool/trunk/mruby-1.3.0/test/t/exception.rb
- Timestamp:
- Jan 21, 2018, 12:10:09 AM (6 years ago)
- Location:
- EcnlProtoTool/trunk/mruby-1.3.0
- Files:
-
- 1 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/mruby-1.3.0/test/t/exception.rb
r321 r331 339 339 1 * "b" 340 340 ensure 341 @e = self.z 342 end 343 end 344 341 @e = self.zz 342 end 343 end 344 345 def zz 346 true 347 end 345 348 def z 346 349 true … … 351 354 352 355 assert('Exception#inspect without message') do 353 assert_equal "Exception : Exception", Exception.new.inspect356 assert_equal "Exception", Exception.new.inspect 354 357 end 355 358 … … 374 377 end 375 378 376 assert('Raise in rescue') do 377 assert_raise(ArgumentError) do 378 begin 379 raise "" # RuntimeError 380 rescue 381 raise ArgumentError 382 end 383 end 384 end 379 def backtrace_available? 380 begin 381 raise "XXX" 382 rescue => exception 383 not exception.backtrace.empty? 384 end 385 end 386 387 assert('GC in rescue') do 388 skip "backtrace isn't available" unless backtrace_available? 389 390 line = nil 391 begin 392 [1].each do 393 [2].each do 394 [3].each do 395 line = __LINE__; raise "XXX" 396 end 397 end 398 end 399 rescue => exception 400 GC.start 401 assert_equal("#{__FILE__}:#{line}:in call", 402 exception.backtrace.first) 403 end 404 end 405 406 assert('Method call in rescue') do 407 skip "backtrace isn't available" unless backtrace_available? 408 409 line = nil 410 begin 411 [1].each do 412 [2].each do 413 line = __LINE__; raise "XXX" 414 end 415 end 416 rescue => exception 417 [3].each do 418 end 419 assert_equal("#{__FILE__}:#{line}:in call", 420 exception.backtrace.first) 421 end 422 end
Note:
See TracChangeset
for help on using the changeset viewer.