swig/Examples/test-suite/ruby/director_protected_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

45 lines
715 B
Ruby

#!/usr/bin/env ruby
#
# Put description here
#
#
#
#
#
require 'swig_assert'
require 'director_protected'
NoProtectedError = Kernel.const_defined?("NoMethodError") ? NoMethodError : NameError
class FooBar < Director_protected::Bar
protected
def ping
"FooBar::ping();"
end
end
class Hello < FooBar
public
def pang
ping
end
end
b = Director_protected::Bar.new
fb = FooBar.new
p = 0
begin
b.ping
p = 1
rescue NoProtectedError
end
h = Hello.new
raise RuntimeError if p == 1
raise RuntimeError if b.pong != "Bar::pong();Foo::pong();Bar::ping();"
raise RuntimeError if fb.pong != "Bar::pong();Foo::pong();FooBar::ping();"
raise RuntimeError if h.pang != "FooBar::ping();"