diff options
author | Jose <jose@zeroc.com> | 2016-03-08 13:46:55 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2016-03-08 13:46:55 +0100 |
commit | 2bd402833bfdb54c1940dd0038be8af05d6f5e6f (patch) | |
tree | eb7be3853dc45452397b730e586434f6e859efb3 /java/test | |
parent | Windows fixes for icegriddb/icestormdb (diff) | |
download | ice-2bd402833bfdb54c1940dd0038be8af05d6f5e6f.tar.bz2 ice-2bd402833bfdb54c1940dd0038be8af05d6f5e6f.tar.xz ice-2bd402833bfdb54c1940dd0038be8af05d6f5e6f.zip |
ICE-6991 - Add support for unicode escape sequences
Diffstat (limited to 'java/test')
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(); |