summaryrefslogtreecommitdiff
path: root/Examples/test-suite/ruby
diff options
context:
space:
mode:
authorLogan Johnson <ljohnson@users.sourceforge.net>2003-03-08 05:13:19 +0000
committerLogan Johnson <ljohnson@users.sourceforge.net>2003-03-08 05:13:19 +0000
commitd39635101eba845f235084d52e07301b90325167 (patch)
treef9b7b8127a26b12273b944daae1412111920b1cc /Examples/test-suite/ruby
parent56e34f6d396dd05135d21aaa93fa76bd7f32c21a (diff)
downloadswig-d39635101eba845f235084d52e07301b90325167.tar.gz
*** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4478 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'Examples/test-suite/ruby')
-rw-r--r--Examples/test-suite/ruby/lib_std_string_runme.rb55
1 files changed, 50 insertions, 5 deletions
diff --git a/Examples/test-suite/ruby/lib_std_string_runme.rb b/Examples/test-suite/ruby/lib_std_string_runme.rb
index c691242d8..dbf96810c 100644
--- a/Examples/test-suite/ruby/lib_std_string_runme.rb
+++ b/Examples/test-suite/ruby/lib_std_string_runme.rb
@@ -3,15 +3,15 @@ require 'lib_std_string'
include Lib_std_string
# Checking expected use of %typemap(in) std::string {}
-test_value_in("Fee")
+test_value("Fee")
# Checking expected result of %typemap(out) std::string {}
-raise RuntimeError unless test_value_in("Fi") == "Fi"
+raise RuntimeError unless test_value("Fi") == "Fi"
# Verify type-checking for %typemap(in) std::string {}
exceptionRaised = false
begin
- test_value_in(0)
+ test_value(0)
rescue TypeError
exceptionRaised = true
ensure
@@ -19,15 +19,60 @@ ensure
end
# Checking expected use of %typemap(in) const std::string & {}
-test_const_reference_in("Fo")
+test_const_reference("Fo")
+
+# Checking expected result of %typemap(out) const std::string& {}
+raise RuntimeError unless test_const_reference("Fum") == "Fum"
# Verify type-checking for %typemap(in) const std::string & {}
exceptionRaised = false
begin
- test_const_reference_in(0)
+ test_const_reference(0)
rescue TypeError
exceptionRaised = true
ensure
raise RuntimeError unless exceptionRaised
end
+#
+# Input and output typemaps for pointers and non-const references to
+# std::string are *not* supported; the following tests confirm
+# that none of these cases are slipping through.
+#
+
+exceptionRaised = false
+begin
+ test_pointer("foo")
+rescue TypeError
+ exceptionRaised = true
+ensure
+ raise RuntimeError unless exceptionRaised
+end
+
+result = test_pointer_out()
+raise RuntimeError if result.is_a? String
+
+exceptionRaised = false
+begin
+ test_const_pointer("bar")
+rescue TypeError
+ exceptionRaised = true
+ensure
+ raise RuntimeError unless exceptionRaised
+end
+
+result = test_const_pointer_out()
+raise RuntimeError if result.is_a? String
+
+exceptionRaised = false
+begin
+ test_reference("foo")
+rescue TypeError
+ exceptionRaised = true
+ensure
+ raise RuntimeError unless exceptionRaised
+end
+
+result = test_reference_out()
+raise RuntimeError if result.is_a? String
+