mirror of https://github.com/swig/swig
49 lines
1.6 KiB
Ruby
49 lines
1.6 KiB
Ruby
#!/usr/bin/env ruby
|
|
#
|
|
# C++ version of global_immutable_vars_runme.rb
|
|
#
|
|
|
|
require 'swig_assert'
|
|
|
|
require 'global_immutable_vars_cpp'
|
|
|
|
# first check if all variables can be read
|
|
swig_assert_each_line( <<EOF )
|
|
Global_immutable_vars_cpp::default_mutable_var == 40
|
|
Global_immutable_vars_cpp::global_immutable_var == 41
|
|
Global_immutable_vars_cpp::specific_mutable_var == 42
|
|
Global_immutable_vars_cpp::global_mutable_var == 43
|
|
Global_immutable_vars_cpp::specific_immutable_var == 44
|
|
EOF
|
|
|
|
# check that all mutable variables can be modified
|
|
swig_assert_each_line( <<EOF )
|
|
Global_immutable_vars_cpp::default_mutable_var = 80
|
|
Global_immutable_vars_cpp::default_mutable_var == 80
|
|
Global_immutable_vars_cpp::specific_mutable_var = 82
|
|
Global_immutable_vars_cpp::specific_mutable_var == 82
|
|
Global_immutable_vars_cpp::global_mutable_var = 83
|
|
Global_immutable_vars_cpp::global_mutable_var == 83
|
|
EOF
|
|
|
|
# now check that immutable variables cannot be modified
|
|
had_exception = false
|
|
begin
|
|
Global_immutable_vars_cpp::global_immutable_var = 81
|
|
rescue NoMethodError => e
|
|
had_exception = true
|
|
end
|
|
swig_assert(had_exception, nil,
|
|
"Global_immutable_vars_cpp::global_immutable_var is writable (expected to be immutable)")
|
|
|
|
had_exception = false
|
|
begin
|
|
Global_immutable_vars_cpp::specific_immutable_var = 81
|
|
rescue NoMethodError => e
|
|
had_exception = true
|
|
end
|
|
swig_assert(had_exception, nil,
|
|
"Global_immutable_vars_cpp::specific_immutable_var is writable (expected to be immutable)")
|
|
|
|
swig_assert(Global_immutable_vars_cpp::check_values(80, 41, 82, 83, 44) == 1, nil, "Check values failed")
|