- source files and Makefiles need never be executable - scripts are run directly by their interpreters in the test suites, so also do not need to be executable
46 lines
1.4 KiB
Ruby
46 lines
1.4 KiB
Ruby
#!/usr/bin/env ruby
|
|
#
|
|
# Put script description here.
|
|
#
|
|
#
|
|
#
|
|
#
|
|
#
|
|
|
|
require 'swig_assert'
|
|
require 'access_change'
|
|
|
|
|
|
#
|
|
# this test will currently fail, as it exposes functions that were
|
|
# made protected from public. swig limitation for now.
|
|
#
|
|
exit(0)
|
|
|
|
include Access_change
|
|
|
|
klass = BaseInt.new
|
|
public = ['PublicProtectedPublic1', 'PublicProtectedPublic2',
|
|
'PublicProtectedPublic3', 'PublicProtectedPublic4']
|
|
methods = (klass.public_methods - Object.methods).sort
|
|
pmethods = (klass.protected_methods - Object.methods).sort
|
|
swig_assert( methods == public,
|
|
" incorrect public methods for BaseInt\n" +
|
|
"#{methods.inspect} !=\n#{public.inspect}" )
|
|
|
|
klass = DerivedInt.new
|
|
public = ['PublicProtectedPublic3', 'PublicProtectedPublic4',
|
|
'WasProtected1', 'WasProtected2', 'WasProtected3', 'WasProtected4']
|
|
methods = (klass.public_methods - Object.methods).sort
|
|
swig_assert( methods == public,
|
|
" incorrect public methods for DerivedInt\n" +
|
|
"#{methods.inspect} !=\n#{public.inspect}" )
|
|
|
|
klass = BottomInt.new
|
|
public = ['PublicProtectedPublic1', 'PublicProtectedPublic2',
|
|
'PublicProtectedPublic3', 'PublicProtectedPublic4',
|
|
'WasProtected1', 'WasProtected2']
|
|
methods = (klass.public_methods - Object.methods).sort
|
|
swig_assert( methods == public,
|
|
" incorrect public methods for BottomInt\n" +
|
|
"#{methods.inspect} !=\n#{public.inspect}" )
|