summaryrefslogtreecommitdiff
path: root/java/test
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2016-03-08 13:46:55 +0100
committerJose <jose@zeroc.com>2016-03-08 13:46:55 +0100
commit2bd402833bfdb54c1940dd0038be8af05d6f5e6f (patch)
treeeb7be3853dc45452397b730e586434f6e859efb3 /java/test
parentWindows fixes for icegriddb/icestormdb (diff)
downloadice-2bd402833bfdb54c1940dd0038be8af05d6f5e6f.tar.bz2
ice-2bd402833bfdb54c1940dd0038be8af05d6f5e6f.tar.xz
ice-2bd402833bfdb54c1940dd0038be8af05d6f5e6f.zip
ICE-6991 - Add support for unicode escape sequences
Diffstat (limited to 'java/test')
-rw-r--r--java/test/src/main/java/test/Ice/operations/AMDMyDerivedClassI.java42
-rw-r--r--java/test/src/main/java/test/Ice/operations/AMDTieMyDerivedClassI.java42
-rw-r--r--java/test/src/main/java/test/Ice/operations/MyDerivedClassI.java42
-rw-r--r--java/test/src/main/java/test/Ice/operations/Test.ice67
-rw-r--r--java/test/src/main/java/test/Ice/operations/TestAMD.ice67
-rw-r--r--java/test/src/main/java/test/Ice/operations/TieMyDerivedClassI.java42
-rw-r--r--java/test/src/main/java/test/Ice/operations/Twoways.java79
7 files changed, 381 insertions, 0 deletions
diff --git a/java/test/src/main/java/test/Ice/operations/AMDMyDerivedClassI.java b/java/test/src/main/java/test/Ice/operations/AMDMyDerivedClassI.java
index 2ad0c26d0d8..02b88e5d91a 100644
--- a/java/test/src/main/java/test/Ice/operations/AMDMyDerivedClassI.java
+++ b/java/test/src/main/java/test/Ice/operations/AMDMyDerivedClassI.java
@@ -888,6 +888,48 @@ public final class AMDMyDerivedClassI extends MyDerivedClass
cb.ice_response(value);
}
+ @Override
+ public void opStringLiterals_async(AMD_MyClass_opStringLiterals cb, Ice.Current current)
+ {
+ cb.ice_response(new String[]
+ {
+ s0.value,
+ s1.value,
+ s2.value,
+ s3.value,
+ s4.value,
+ s5.value,
+ s6.value,
+ s7.value,
+ s8.value,
+ s9.value,
+ s10.value,
+
+ sw0.value,
+ sw1.value,
+ sw2.value,
+ sw3.value,
+ sw4.value,
+ sw5.value,
+ sw6.value,
+ sw7.value,
+ sw8.value,
+ sw9.value,
+ sw10.value,
+
+ ss0.value,
+ ss1.value,
+ ss2.value,
+ ss3.value,
+ ss4.value,
+ ss5.value,
+
+ su0.value,
+ su1.value,
+ su2.value
+ });
+ }
+
private Thread _opVoidThread;
private int _opByteSOnewayCallCount = 0;
}
diff --git a/java/test/src/main/java/test/Ice/operations/AMDTieMyDerivedClassI.java b/java/test/src/main/java/test/Ice/operations/AMDTieMyDerivedClassI.java
index 4c82944f359..1e5ab277b56 100644
--- a/java/test/src/main/java/test/Ice/operations/AMDTieMyDerivedClassI.java
+++ b/java/test/src/main/java/test/Ice/operations/AMDTieMyDerivedClassI.java
@@ -851,6 +851,48 @@ public final class AMDTieMyDerivedClassI implements _MyDerivedClassOperations
{
cb.ice_response(value);
}
+
+ @Override
+ public void opStringLiterals_async(AMD_MyClass_opStringLiterals cb, Ice.Current current)
+ {
+ cb.ice_response(new String[]
+ {
+ s0.value,
+ s1.value,
+ s2.value,
+ s3.value,
+ s4.value,
+ s5.value,
+ s6.value,
+ s7.value,
+ s8.value,
+ s9.value,
+ s10.value,
+
+ sw0.value,
+ sw1.value,
+ sw2.value,
+ sw3.value,
+ sw4.value,
+ sw5.value,
+ sw6.value,
+ sw7.value,
+ sw8.value,
+ sw9.value,
+ sw10.value,
+
+ ss0.value,
+ ss1.value,
+ ss2.value,
+ ss3.value,
+ ss4.value,
+ ss5.value,
+
+ su0.value,
+ su1.value,
+ su2.value
+ });
+ }
private Thread _opVoidThread;
private int _opByteSOnewayCallCount = 0;
diff --git a/java/test/src/main/java/test/Ice/operations/MyDerivedClassI.java b/java/test/src/main/java/test/Ice/operations/MyDerivedClassI.java
index 1b5edabfd5a..2e7d418a7ea 100644
--- a/java/test/src/main/java/test/Ice/operations/MyDerivedClassI.java
+++ b/java/test/src/main/java/test/Ice/operations/MyDerivedClassI.java
@@ -832,6 +832,48 @@ public final class MyDerivedClassI extends MyDerivedClass
{
return value;
}
+
+ @Override
+ public String[] opStringLiterals(Ice.Current current)
+ {
+ return new String[]
+ {
+ s0.value,
+ s1.value,
+ s2.value,
+ s3.value,
+ s4.value,
+ s5.value,
+ s6.value,
+ s7.value,
+ s8.value,
+ s9.value,
+ s10.value,
+
+ sw0.value,
+ sw1.value,
+ sw2.value,
+ sw3.value,
+ sw4.value,
+ sw5.value,
+ sw6.value,
+ sw7.value,
+ sw8.value,
+ sw9.value,
+ sw10.value,
+
+ ss0.value,
+ ss1.value,
+ ss2.value,
+ ss3.value,
+ ss4.value,
+ ss5.value,
+
+ su0.value,
+ su1.value,
+ su2.value
+ };
+ }
private int _opByteSOnewayCallCount = 0;
}
diff --git a/java/test/src/main/java/test/Ice/operations/Test.ice b/java/test/src/main/java/test/Ice/operations/Test.ice
index f4e9f4000f6..069faffeb6b 100644
--- a/java/test/src/main/java/test/Ice/operations/Test.ice
+++ b/java/test/src/main/java/test/Ice/operations/Test.ice
@@ -250,6 +250,8 @@ class MyClass
ByteBoolD opByteBoolD1(ByteBoolD opByteBoolD1);
StringS opStringS2(StringS stringS);
ByteBoolD opByteBoolD2(ByteBoolD byteBoolD);
+
+ StringS opStringLiterals();
};
struct MyStruct1
@@ -273,4 +275,69 @@ class MyDerivedClass extends MyClass
MyStruct1 opMyStruct1(MyStruct1 opMyStruct1);
};
+//
+// String literals
+//
+
+const string s0 = "\u005c"; // backslash
+const string s1 = "\u0041"; // A
+const string s2 = "\u0049\u0063\u0065"; // Ice
+const string s3 = "\u004121"; // A21
+const string s4 = "\\u0041 \\U00000041"; // \\u0041 \\U00000041
+const string s5 = "\u00FF"; // ÿ
+const string s6 = "\u03FF"; // GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL (U+03FF)
+const string s7 = "\u05F0"; // HEBREW LIGATURE YIDDISH DOUBLE VAV (U+05F0)
+const string s8 = "\U00010000"; // LINEAR B SYLLABLE B008 A (U+10000)
+const string s9 = "\U0001F34C"; // BANANA (U+1F34C)
+const string s10 = "\u0DA7"; // Sinhala Letter Alpapraana Ttayanna
+
+const string sw0 = "\U0000005c"; // backslash
+const string sw1 = "\U00000041"; // A
+const string sw2 = "\U00000049\U00000063\U00000065"; // Ice
+const string sw3 = "\U0000004121"; // A21
+const string sw4 = "\\u0041 \\U00000041"; // \\u0041 \\U00000041
+const string sw5 = "\U000000FF"; // ÿ
+const string sw6 = "\U000003FF"; // GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL (U+03FF)
+const string sw7 = "\U000005F0"; // HEBREW LIGATURE YIDDISH DOUBLE VAV (U+05F0)
+const string sw8 = "\U00010000"; // LINEAR B SYLLABLE B008 A (U+10000)
+const string sw9 = "\U0001F34C"; // BANANA (U+1F34C)
+const string sw10 = "\U00000DA7"; // Sinhala Letter Alpapraana Ttayanna
+
+/**
+\' single quote byte 0x27 in ASCII encoding
+\" double quote byte 0x22 in ASCII encoding
+\? question mark byte 0x3f in ASCII encoding
+\\ backslash byte 0x5c in ASCII encoding
+\a audible bell byte 0x07 in ASCII encoding
+\b backspace byte 0x08 in ASCII encoding
+\f form feed - new page byte 0x0c in ASCII encoding
+\n line feed - new line byte 0x0a in ASCII encoding
+\r carriage return byte 0x0d in ASCII encoding
+\t horizontal tab byte 0x09 in ASCII encoding
+\v vertical tab byte 0x0b in ASCII encoding
+**/
+
+const string ss0 = "\'\"\?\\\a\b\f\n\r\t\v";
+const string ss1 = "\u0027\u0022\u003f\u005c\u0007\u0008\u000c\u000a\u000d\u0009\u000b";
+const string ss2 = "\U00000027\U00000022\U0000003f\U0000005c\U00000007\U00000008\U0000000c\U0000000a\U0000000d\U00000009\U0000000b";
+
+const string ss3 = "\\\\U\\u\\"; /* \\U\u\ */
+const string ss4 = "\\\u0041\\"; /* \A\ */
+const string ss5 = "\\u0041\\"; /* \u0041\ */
+
+//
+// ÿ - Unicode Character 'LATIN SMALL LETTER Y WITH DIAERESIS' (U+00FF)
+// Ā - Unicode Character 'LATIN CAPITAL LETTER A WITH MACRON' (U+0100)
+// ἀ - Unicode Character 'GREEK SMALL LETTER ALPHA WITH PSILI' (U+1F00)
+// 𐆔 - Unicode Character 'ROMAN DIMIDIA SEXTULA SIGN' (U+10194)
+// 𐅪 - Unicode Character 'GREEK ACROPHONIC THESPIAN ONE HUNDRED' (U+1016A)
+// 𐆘 - Unicode Character 'ROMAN SESTERTIUS SIGN' (U+10198)
+// 🍀 - Unicode Character 'FOUR LEAF CLOVER' (U+1F340)
+// 🍁 - Unicode Character 'MAPLE LEAF' (U+1F341)
+// 🍂 - Unicode Character 'FALLEN LEAF' (U+1F342)
+// 🍃 - Unicode Character 'LEAF FLUTTERING IN WIND' (U+1F343)
+const string su0 = "ÿĀἀ𐆔𐅪𐆘🍀🍁🍂🍃";
+const string su1 = "\u00FF\u0100\u1F00\U00010194\U0001016A\U00010198\U0001F340\U0001F341\U0001F342\U0001F343";
+const string su2 = "\U000000FF\U00000100\U00001F00\U00010194\U0001016A\U00010198\U0001F340\U0001F341\U0001F342\U0001F343";
+
};
diff --git a/java/test/src/main/java/test/Ice/operations/TestAMD.ice b/java/test/src/main/java/test/Ice/operations/TestAMD.ice
index f27ceb1c24c..19b2eb839b5 100644
--- a/java/test/src/main/java/test/Ice/operations/TestAMD.ice
+++ b/java/test/src/main/java/test/Ice/operations/TestAMD.ice
@@ -250,6 +250,8 @@ dictionary<MyEnum, MyEnumS> MyEnumMyEnumSD;
ByteBoolD opByteBoolD1(ByteBoolD opByteBoolD1);
StringS opStringS2(StringS stringS);
ByteBoolD opByteBoolD2(ByteBoolD byteBoolD);
+
+ StringS opStringLiterals();
};
struct MyStruct1
@@ -273,4 +275,69 @@ class MyClass1
MyStruct1 opMyStruct1(MyStruct1 opMyStruct1);
};
+//
+// String literals
+//
+
+const string s0 = "\u005c"; // backslash
+const string s1 = "\u0041"; // A
+const string s2 = "\u0049\u0063\u0065"; // Ice
+const string s3 = "\u004121"; // A21
+const string s4 = "\\u0041 \\U00000041"; // \\u0041 \\U00000041
+const string s5 = "\u00FF"; // ÿ
+const string s6 = "\u03FF"; // GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL (U+03FF)
+const string s7 = "\u05F0"; // HEBREW LIGATURE YIDDISH DOUBLE VAV (U+05F0)
+const string s8 = "\U00010000"; // LINEAR B SYLLABLE B008 A (U+10000)
+const string s9 = "\U0001F34C"; // BANANA (U+1F34C)
+const string s10 = "\u0DA7"; // Sinhala Letter Alpapraana Ttayanna
+
+const string sw0 = "\U0000005c"; // backslash
+const string sw1 = "\U00000041"; // A
+const string sw2 = "\U00000049\U00000063\U00000065"; // Ice
+const string sw3 = "\U0000004121"; // A21
+const string sw4 = "\\u0041 \\U00000041"; // \\u0041 \\U00000041
+const string sw5 = "\U000000FF"; // ÿ
+const string sw6 = "\U000003FF"; // GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL (U+03FF)
+const string sw7 = "\U000005F0"; // HEBREW LIGATURE YIDDISH DOUBLE VAV (U+05F0)
+const string sw8 = "\U00010000"; // LINEAR B SYLLABLE B008 A (U+10000)
+const string sw9 = "\U0001F34C"; // BANANA (U+1F34C)
+const string sw10 = "\U00000DA7"; // Sinhala Letter Alpapraana Ttayanna
+
+/**
+\' single quote byte 0x27 in ASCII encoding
+\" double quote byte 0x22 in ASCII encoding
+\? question mark byte 0x3f in ASCII encoding
+\\ backslash byte 0x5c in ASCII encoding
+\a audible bell byte 0x07 in ASCII encoding
+\b backspace byte 0x08 in ASCII encoding
+\f form feed - new page byte 0x0c in ASCII encoding
+\n line feed - new line byte 0x0a in ASCII encoding
+\r carriage return byte 0x0d in ASCII encoding
+\t horizontal tab byte 0x09 in ASCII encoding
+\v vertical tab byte 0x0b in ASCII encoding
+**/
+
+const string ss0 = "\'\"\?\\\a\b\f\n\r\t\v";
+const string ss1 = "\u0027\u0022\u003f\u005c\u0007\u0008\u000c\u000a\u000d\u0009\u000b";
+const string ss2 = "\U00000027\U00000022\U0000003f\U0000005c\U00000007\U00000008\U0000000c\U0000000a\U0000000d\U00000009\U0000000b";
+
+const string ss3 = "\\\\U\\u\\"; /* \\U\u\ */
+const string ss4 = "\\\u0041\\"; /* \A\ */
+const string ss5 = "\\u0041\\"; /* \u0041\ */
+
+//
+// ÿ - Unicode Character 'LATIN SMALL LETTER Y WITH DIAERESIS' (U+00FF)
+// Ā - Unicode Character 'LATIN CAPITAL LETTER A WITH MACRON' (U+0100)
+// ἀ - Unicode Character 'GREEK SMALL LETTER ALPHA WITH PSILI' (U+1F00)
+// 𐆔 - Unicode Character 'ROMAN DIMIDIA SEXTULA SIGN' (U+10194)
+// 𐅪 - Unicode Character 'GREEK ACROPHONIC THESPIAN ONE HUNDRED' (U+1016A)
+// 𐆘 - Unicode Character 'ROMAN SESTERTIUS SIGN' (U+10198)
+// 🍀 - Unicode Character 'FOUR LEAF CLOVER' (U+1F340)
+// 🍁 - Unicode Character 'MAPLE LEAF' (U+1F341)
+// 🍂 - Unicode Character 'FALLEN LEAF' (U+1F342)
+// 🍃 - Unicode Character 'LEAF FLUTTERING IN WIND' (U+1F343)
+const string su0 = "ÿĀἀ𐆔𐅪𐆘🍀🍁🍂🍃";
+const string su1 = "\u00FF\u0100\u1F00\U00010194\U0001016A\U00010198\U0001F340\U0001F341\U0001F342\U0001F343";
+const string su2 = "\U000000FF\U00000100\U00001F00\U00010194\U0001016A\U00010198\U0001F340\U0001F341\U0001F342\U0001F343";
+
};
diff --git a/java/test/src/main/java/test/Ice/operations/TieMyDerivedClassI.java b/java/test/src/main/java/test/Ice/operations/TieMyDerivedClassI.java
index d1c1540bccb..0e4e6b89cb1 100644
--- a/java/test/src/main/java/test/Ice/operations/TieMyDerivedClassI.java
+++ b/java/test/src/main/java/test/Ice/operations/TieMyDerivedClassI.java
@@ -797,5 +797,47 @@ public final class TieMyDerivedClassI implements _MyDerivedClassOperations
return value;
}
+ @Override
+ public String[] opStringLiterals(Ice.Current current)
+ {
+ return new String[]
+ {
+ s0.value,
+ s1.value,
+ s2.value,
+ s3.value,
+ s4.value,
+ s5.value,
+ s6.value,
+ s7.value,
+ s8.value,
+ s9.value,
+ s10.value,
+
+ sw0.value,
+ sw1.value,
+ sw2.value,
+ sw3.value,
+ sw4.value,
+ sw5.value,
+ sw6.value,
+ sw7.value,
+ sw8.value,
+ sw9.value,
+ sw10.value,
+
+ ss0.value,
+ ss1.value,
+ ss2.value,
+ ss3.value,
+ ss4.value,
+ ss5.value,
+
+ su0.value,
+ su1.value,
+ su2.value
+ };
+ }
+
private int _opByteSOnewayCallCount = 0;
}
diff --git a/java/test/src/main/java/test/Ice/operations/Twoways.java b/java/test/src/main/java/test/Ice/operations/Twoways.java
index f2df1a9f938..0a8d61f6397 100644
--- a/java/test/src/main/java/test/Ice/operations/Twoways.java
+++ b/java/test/src/main/java/test/Ice/operations/Twoways.java
@@ -55,6 +55,85 @@ class Twoways
twoways(Application app, MyClassPrx p)
{
Communicator communicator = app.communicator();
+
+ String[] literals = p.opStringLiterals();
+
+ test(s0.value.equals("\\") &&
+ s0.value.equals(sw0.value) &&
+ s0.value.equals(literals[0]) &&
+ s0.value.equals(literals[11]));
+
+ test(s1.value.equals("A") &&
+ s1.value.equals(sw1.value) &&
+ s1.value.equals(literals[1]) &&
+ s1.value.equals(literals[12]));
+
+ test(s2.value.equals("Ice") &&
+ s2.value.equals(sw2.value) &&
+ s2.value.equals(literals[2]) &&
+ s2.value.equals(literals[13]));
+
+ test(s3.value.equals("A21") &&
+ s3.value.equals(sw3.value) &&
+ s3.value.equals(literals[3]) &&
+ s3.value.equals(literals[14]));
+
+ test(s4.value.equals("\\u0041 \\U00000041") &&
+ s4.value.equals(sw4.value) &&
+ s4.value.equals(literals[4]) &&
+ s4.value.equals(literals[15]));
+
+ test(s5.value.equals("\u00FF") &&
+ s5.value.equals(sw5.value) &&
+ s5.value.equals(literals[5]) &&
+ s5.value.equals(literals[16]));
+
+ test(s6.value.equals("\u03FF") &&
+ s6.value.equals(sw6.value) &&
+ s6.value.equals(literals[6]) &&
+ s6.value.equals(literals[17]));
+
+ test(s7.value.equals("\u05F0") &&
+ s7.value.equals(sw7.value) &&
+ s7.value.equals(literals[7]) &&
+ s7.value.equals(literals[18]));
+
+ test(s8.value.equals("\uD800\uDC00") &&
+ s8.value.equals(sw8.value) &&
+ s8.value.equals(literals[8]) &&
+ s8.value.equals(literals[19]));
+
+ test(s9.value.equals("\uD83C\uDF4C") &&
+ s9.value.equals(sw9.value) &&
+ s9.value.equals(literals[9]) &&
+ s9.value.equals(literals[20]));
+
+ test(s10.value.equals("\u0DA7") &&
+ s10.value.equals(sw10.value) &&
+ s10.value.equals(literals[10]) &&
+ s10.value.equals(literals[21]));
+
+ test(ss0.value.equals("\'\"\u003f\\\u0007\b\f\n\r\t\u000b") &&
+ ss0.value.equals(ss1.value) &&
+ ss0.value.equals(ss2.value) &&
+ ss0.value.equals(literals[22]) &&
+ ss0.value.equals(literals[23]) &&
+ ss0.value.equals(literals[24]));
+
+ test(ss3.value.equals("\\\\U\\u\\") &&
+ ss3.value.equals(literals[25]));
+
+ test(ss4.value.equals("\\A\\") &&
+ ss4.value.equals(literals[26]));
+
+ test(ss5.value.equals("\\u0041\\") &&
+ ss5.value.equals(literals[27]));
+
+ test(su0.value.equals(su1.value) &&
+ su0.value.equals(su2.value) &&
+ su0.value.equals(literals[28]) &&
+ su0.value.equals(literals[29]) &&
+ su0.value.equals(literals[30]));
p.ice_ping();