/trunk/Examples/test-suite/ruby/director_protected_runme.rb
Ruby | 45 lines | 28 code | 9 blank | 8 comment | 8 complexity | 43e3ee8051b3571df0612bc5accf7166 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 '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();"