swig/Examples/test-suite/ruby/abstract_inherit_ok_runme.rb
Gonzalo Garramuno 8742036cbd Removed macro stuff titles of author, copyright,
etc.



git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9785 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-05-06 18:02:24 +00:00

48 lines
818 B
Ruby

#!/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