/trunk/Examples/test-suite/ruby/director_exception_runme.rb
Ruby | 70 lines | 43 code | 19 blank | 8 comment | 0 complexity | 26091190ec9a60e58c0c210a415ec66f MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- #!/usr/bin/env ruby
- #
- # Put description here
- #
- #
- #
- #
- #
- require 'swig_assert'
- require 'director_exception'
- include Director_exception
- class MyFoo < Foo
- def ping
- raise NotImplementedError, "MyFoo::ping() EXCEPTION"
- end
- end
- class MyFoo2 < Foo
- def ping
- nil # error: should return a string
- end
- end
- class MyFoo3 < Foo
- def ping
- 5 # error: should return a string
- end
- end
- ok = false
- a = MyFoo.new
- b = launder(a)
- begin
- b.pong
- rescue NotImplementedError
- ok = true
- end
- raise RuntimeError unless ok
- ok = false
- a = MyFoo2.new
- b = launder(a)
- begin
- b.pong
- rescue TypeError
- ok = true
- end
- a = MyFoo3.new
- b = launder(a)
- begin
- b.pong
- rescue TypeError
- ok = true
- end
- raise RuntimeError unless ok