aboutsummaryrefslogtreecommitdiff
path: root/Examples/test-suite/arrays.i
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/arrays.i')
-rw-r--r--Examples/test-suite/arrays.i52
1 files changed, 52 insertions, 0 deletions
diff --git a/Examples/test-suite/arrays.i b/Examples/test-suite/arrays.i
new file mode 100644
index 000000000..57912905d
--- /dev/null
+++ b/Examples/test-suite/arrays.i
@@ -0,0 +1,52 @@
+/*
+This test case tests that various types of arrays are working.
+*/
+
+%module arrays
+%pragma make_default
+
+%inline %{
+#define ARRAY_LEN 2
+
+typedef enum {One, Two, Three, Four, Five} finger;
+
+typedef struct {
+ double double_field;
+} SimpleStruct;
+
+typedef struct {
+ char array_c [ARRAY_LEN];
+ signed char array_sc[ARRAY_LEN];
+ unsigned char array_uc[ARRAY_LEN];
+ short array_s [ARRAY_LEN];
+ unsigned short array_us[ARRAY_LEN];
+ int array_i [ARRAY_LEN];
+ unsigned int array_ui[ARRAY_LEN];
+ long array_l [ARRAY_LEN];
+ unsigned long array_ul[ARRAY_LEN];
+ long long array_ll[ARRAY_LEN];
+ float array_f [ARRAY_LEN];
+ double array_d [ARRAY_LEN];
+ SimpleStruct array_struct[ARRAY_LEN];
+ SimpleStruct* array_structpointers[ARRAY_LEN];
+ int* array_ipointers [ARRAY_LEN];
+ finger array_enum[ARRAY_LEN];
+ finger* array_enumpointers[ARRAY_LEN];
+ const int array_const_i[ARRAY_LEN];
+} ArrayStruct;
+
+void fn_taking_arrays(SimpleStruct array_struct[ARRAY_LEN]) {}
+
+/* Pointer helper functions used in the Java run test */
+int* newintpointer() {
+ return (int*)malloc(sizeof(int));
+}
+void setintfrompointer(int* intptr, int value) {
+ *intptr = value;
+}
+int getintfrompointer(int* intptr) {
+ return *intptr;
+}
+
+%}
+