/trunk/Examples/test-suite/ruby/abstract_inherit_ok_runme.rb
# · Ruby · 48 lines · 22 code · 8 blank · 18 comment · 1 complexity · eae33d13eeca020dfb3bbc2de2905b19 MD5 · raw file
- #!/usr/bin/env ruby
- #
- # Put description here
- #
- #
- #
- #
- #
- require 'swig_assert'
- require 'abstract_inherit_ok'
- include Abstract_inherit_ok
- #
- # Shouldn't be able to instantiate Foo, because it declares
- # a pure virtual function.
- #
- exceptionRaised = false
- begin
- Foo.new
- rescue NameError
- exceptionRaised = true
- rescue TypeError
- # In Ruby 1.8 the exception raised is:
- # TypeError: allocator undefined for Abstract_inherit_ok::Foo
- exceptionRaised = true
- ensure
- swig_assert( "exceptionRaised", binding )
- end
- #
- # This one's OK since we cleared it with a %feature("notabstract")
- # declaration in the interface file.
- #
- exceptionRaised = false
- begin
- spam = Spam.new
- raise RuntimeError unless spam.blah == 0
- rescue NameError
- exceptionRaised = true
- ensure
- swig_assert( "!exceptionRaised", binding )
- end