/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
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 '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