/trunk/Examples/test-suite/ruby/director_exception_runme.rb
# · Ruby · 70 lines · 43 code · 19 blank · 8 comment · 0 complexity · 26091190ec9a60e58c0c210a415ec66f MD5 · raw file
- #!/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