summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2016-03-12 23:26:23 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2016-03-12 23:26:23 +0000
commitc985dd8bd1255bc6238fc471055d136840f97ca8 (patch)
tree666a5d96ec2bd4ac91da6572d5a02f02c6d29c32
parent5e614da429bb38286bb6b4b9f456c1becee281e9 (diff)
downloadswig-char-escaping.tar.gz
Add missing string_constant.i testcasechar-escaping
-rw-r--r--Examples/test-suite/string_constants.i44
1 files changed, 44 insertions, 0 deletions
diff --git a/Examples/test-suite/string_constants.i b/Examples/test-suite/string_constants.i
new file mode 100644
index 000000000..60f8c1859
--- /dev/null
+++ b/Examples/test-suite/string_constants.i
@@ -0,0 +1,44 @@
+%module string_constants
+// Test unusual string constants
+
+%warnfilter(SWIGWARN_TYPEMAP_CHARLEAK);
+
+#if defined(SWIGCSHARP)
+%csconst(1);
+%csconstvalue("\"AEIOU\\n\"") SS1;
+%csconstvalue("\"AEIOU\\n\"") SS2;
+#endif
+#if defined(SWIGJAVA)
+%javaconst(1);
+#endif
+%inline %{
+#define SS1 "ÆÎOU\n"
+#define AA1 "A\rB\nC"
+#define EE1 "\124\125\126"
+#define XX1 "\x57\x58\x59"
+#define ZS1 "\0"
+#define ES1 ""
+%}
+%constant SS2="ÆÎOU\n";
+%constant AA2="A\rB\nC";
+%constant EE2="\124\125\126";
+%constant XX2="\x57\x58\x59";
+%constant ZS2="\0";
+%constant ES2="";
+
+%inline %{
+static const char *SS3 = "ÆÎOU\n";
+static const char *AA3 = "A\rB\nC";
+static const char *EE3 = "\124\125\126";
+static const char *XX3 = "\x57\x58\x59";
+static const char *ZS3 = "\0";
+static const char *ES3 = "";
+struct things {
+ const char * defarguments1(const char *SS4 = "ÆÎOU\n") { return SS4; }
+ const char * defarguments2(const char *AA4 = "A\rB\nC") { return AA4; }
+ const char * defarguments3(const char *EE4 = "\124\125\126") { return EE4; }
+ const char * defarguments4(const char *XX4 = "\x57\x58\x59") { return XX4; }
+ const char * defarguments5(const char *ZS4 = "\0") { return ZS4; }
+ const char * defarguments6(const char *ES4 = "") { return ES4; }
+};
+%}