aboutsummaryrefslogtreecommitdiff
path: root/Examples/test-suite
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2014-04-20 13:18:16 +0100
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2014-04-20 13:58:46 +0100
commit1010fbaa8f64b325426927bd561a0359b99074ba (patch)
treec87c829613befa4fa95a769bac032efe8b9609bb /Examples/test-suite
parentf105590c0afc4e7da62d3eb45b86062acc6bc971 (diff)
downloadswig-1010fbaa8f64b325426927bd561a0359b99074ba.tar.gz
Simple C string test
Was added for Javascript, but was not being used in full test-suite. Rename from javascript_unicode to simple_string and provide for all languages. Rewrite to use portable C
Diffstat (limited to 'Examples/test-suite')
-rw-r--r--Examples/test-suite/common.mk1
-rw-r--r--Examples/test-suite/javascript/javascript_unicode_runme.js9
-rw-r--r--Examples/test-suite/javascript/string_simple_runme.js10
-rw-r--r--Examples/test-suite/javascript_unicode.i10
-rw-r--r--Examples/test-suite/string_simple.i13
5 files changed, 24 insertions, 19 deletions
diff --git a/Examples/test-suite/common.mk b/Examples/test-suite/common.mk
index 67f99b0b1..b7a539035 100644
--- a/Examples/test-suite/common.mk
+++ b/Examples/test-suite/common.mk
@@ -613,6 +613,7 @@ C_TEST_CASES += \
simple_array \
sizeof_pointer \
sneaky1 \
+ string_simple \
struct_rename \
struct_initialization \
typedef_struct \
diff --git a/Examples/test-suite/javascript/javascript_unicode_runme.js b/Examples/test-suite/javascript/javascript_unicode_runme.js
deleted file mode 100644
index f5f747aa7..000000000
--- a/Examples/test-suite/javascript/javascript_unicode_runme.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var javascript_unicode = require("./javascript_unicode");
-
-var str = "olé";
-
-var copy = javascript_unicode.copy_string(str);
-
-if (str !== copy) {
- print("Error: copy is not equal: original="+str+", copy="+copy);
-}
diff --git a/Examples/test-suite/javascript/string_simple_runme.js b/Examples/test-suite/javascript/string_simple_runme.js
new file mode 100644
index 000000000..dbdd4136d
--- /dev/null
+++ b/Examples/test-suite/javascript/string_simple_runme.js
@@ -0,0 +1,10 @@
+var string_simple = require("./string_simple");
+
+// Test unicode string
+var str = "olé";
+
+var copy = string_simple.copy_string(str);
+
+if (str !== copy) {
+ throw "Error: copy is not equal: original="+str+", copy="+copy;
+}
diff --git a/Examples/test-suite/javascript_unicode.i b/Examples/test-suite/javascript_unicode.i
deleted file mode 100644
index 516eee5dd..000000000
--- a/Examples/test-suite/javascript_unicode.i
+++ /dev/null
@@ -1,10 +0,0 @@
-%module javascript_unicode
-
-%newobject copy_string;
-
-%inline %{
-#include <string.h>
-const char* copy_string(const char* str) {
- return strdup(str);
-}
-%}
diff --git a/Examples/test-suite/string_simple.i b/Examples/test-suite/string_simple.i
new file mode 100644
index 000000000..5f5cc00bb
--- /dev/null
+++ b/Examples/test-suite/string_simple.i
@@ -0,0 +1,13 @@
+%module string_simple
+
+%newobject copy_string;
+
+%inline %{
+#include <string.h>
+const char* copy_string(const char* str) {
+ size_t len = strlen(str);
+ char* newstring = malloc(len + 1);
+ strcpy(newstring, str);
+ return newstring;
+}
+%}