diff options
author | Jose <jose@zeroc.com> | 2018-09-13 18:13:35 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2018-09-13 18:17:32 +0200 |
commit | 873c217879435669b74ea501a058f47c0255312b (patch) | |
tree | 61517e00e0153d0c29d8950cafb7c54afaf900f5 | |
parent | Allow to build Python 3.7 with Visual Studio 2017 (diff) | |
download | ice-873c217879435669b74ea501a058f47c0255312b.tar.bz2 ice-873c217879435669b74ea501a058f47c0255312b.tar.xz ice-873c217879435669b74ea501a058f47c0255312b.zip |
Test using Value type as a class data member
See #203
-rw-r--r-- | cpp/test/Ice/objects/AllTests.cpp | 7 | ||||
-rw-r--r-- | cpp/test/Ice/objects/Test.ice | 13 | ||||
-rw-r--r-- | cpp/test/Ice/objects/TestI.cpp | 7 | ||||
-rw-r--r-- | cpp/test/Ice/objects/TestI.h | 2 | ||||
-rw-r--r-- | csharp/test/Ice/objects/AllTests.cs | 8 | ||||
-rw-r--r-- | csharp/test/Ice/objects/InitialI.cs | 5 | ||||
-rw-r--r-- | csharp/test/Ice/objects/Test.ice | 14 | ||||
-rw-r--r-- | java-compat/test/src/main/java/test/Ice/objects/InitialI.java | 9 | ||||
-rw-r--r-- | java-compat/test/src/main/java/test/Ice/objects/Test.ice | 14 | ||||
-rw-r--r-- | java/test/src/main/java/test/Ice/objects/AllTests.java | 10 | ||||
-rw-r--r-- | java/test/src/main/java/test/Ice/objects/InitialI.java | 6 | ||||
-rw-r--r-- | java/test/src/main/java/test/Ice/objects/Test.ice | 14 | ||||
-rw-r--r-- | js/test/Ice/objects/Client.js | 6 | ||||
-rw-r--r-- | js/test/Ice/objects/InitialI.js | 5 | ||||
-rw-r--r-- | js/test/Ice/objects/Test.ice | 14 | ||||
-rw-r--r-- | matlab/test/Ice/objects/AllTests.m | 7 | ||||
-rw-r--r-- | matlab/test/Ice/objects/Test.ice | 14 | ||||
-rw-r--r-- | python/test/Ice/objects/AllTests.py | 7 | ||||
-rw-r--r-- | python/test/Ice/objects/Test.ice | 14 | ||||
-rw-r--r-- | python/test/Ice/objects/TestI.py | 3 |
20 files changed, 172 insertions, 7 deletions
diff --git a/cpp/test/Ice/objects/AllTests.cpp b/cpp/test/Ice/objects/AllTests.cpp index 324cb2af3a1..659ce152cff 100644 --- a/cpp/test/Ice/objects/AllTests.cpp +++ b/cpp/test/Ice/objects/AllTests.cpp @@ -340,6 +340,13 @@ allTests(Test::TestHelper* helper) #endif cout << "ok" << endl; + cout << "getting K... " << flush; + KPtr k = initial->getK(); + LPtr l = ICE_DYNAMIC_CAST(L, k->value); + test(l); + test(l->data == "l"); + cout << "ok" << endl; + cout << "getting D1... " << flush; D1Ptr d1 = ICE_MAKE_SHARED(D1, ICE_MAKE_SHARED(A1, "a1"), diff --git a/cpp/test/Ice/objects/Test.ice b/cpp/test/Ice/objects/Test.ice index 2d445d5573f..54352db915c 100644 --- a/cpp/test/Ice/objects/Test.ice +++ b/cpp/test/Ice/objects/Test.ice @@ -177,6 +177,16 @@ class Recursive Recursive v; } +class K +{ + Value value; +} + +class L +{ + string data; +} + interface Initial { void shutdown(); @@ -195,9 +205,10 @@ interface Initial void getAll(out B b1, out B b2, out C theC, out D theD); + I getH(); I getI(); I getJ(); - I getH(); + K getK(); D1 getD1(D1 d1); void throwEDerived() throws EDerived; diff --git a/cpp/test/Ice/objects/TestI.cpp b/cpp/test/Ice/objects/TestI.cpp index c94b9c263db..7ee2703aa79 100644 --- a/cpp/test/Ice/objects/TestI.cpp +++ b/cpp/test/Ice/objects/TestI.cpp @@ -329,6 +329,13 @@ InitialI::getH(const Ice::Current&) } #endif + +KPtr +InitialI::getK(const Ice::Current&) +{ + return ICE_MAKE_SHARED(K, ICE_MAKE_SHARED(L, "l")); +} + D1Ptr InitialI::getD1(ICE_IN(Test::D1Ptr) d1, const Ice::Current&) { diff --git a/cpp/test/Ice/objects/TestI.h b/cpp/test/Ice/objects/TestI.h index 1061864de50..8002d37bf12 100644 --- a/cpp/test/Ice/objects/TestI.h +++ b/cpp/test/Ice/objects/TestI.h @@ -119,6 +119,8 @@ public: virtual Test::IPtr getH(const Ice::Current&); #endif + virtual Test::KPtr getK(const Ice::Current&); + virtual Test::D1Ptr getD1(ICE_IN(Test::D1Ptr), const Ice::Current&); virtual void throwEDerived(const Ice::Current&); diff --git a/csharp/test/Ice/objects/AllTests.cs b/csharp/test/Ice/objects/AllTests.cs index b2eca5de77b..b2bbf875e0c 100644 --- a/csharp/test/Ice/objects/AllTests.cs +++ b/csharp/test/Ice/objects/AllTests.cs @@ -276,6 +276,14 @@ namespace Ice test(h != null); output.WriteLine("ok"); + output.Write("getting K... "); + output.Flush(); + var k = initial.getK(); + var l = k.value as L; + test(l != null); + test(l.data.Equals("l")); + output.WriteLine("ok"); + output.Write("getting D1... "); output.Flush(); D1 d1 = new D1(new A1("a1"), new A1("a2"), new A1("a3"), new A1("a4")); diff --git a/csharp/test/Ice/objects/InitialI.cs b/csharp/test/Ice/objects/InitialI.cs index f09f0e50ad6..309f8f81352 100644 --- a/csharp/test/Ice/objects/InitialI.cs +++ b/csharp/test/Ice/objects/InitialI.cs @@ -93,6 +93,11 @@ namespace Ice return new HI(); } + public override Test.K getK(Ice.Current current) + { + return new Test.K(new Test.L("l")); + } + public override void setRecursive(Test.Recursive r, Ice.Current current) { } diff --git a/csharp/test/Ice/objects/Test.ice b/csharp/test/Ice/objects/Test.ice index 6e9592c71bf..194212b422b 100644 --- a/csharp/test/Ice/objects/Test.ice +++ b/csharp/test/Ice/objects/Test.ice @@ -172,6 +172,16 @@ class Recursive Recursive v; } +class K +{ + Value value; +} + +class L +{ + string data; +} + interface Initial { void shutdown(); @@ -190,9 +200,11 @@ interface Initial void getAll(out B b1, out B b2, out C theC, out D theD); + I getH(); I getI(); I getJ(); - I getH(); + + K getK(); D1 getD1(D1 d1); void throwEDerived() throws EDerived; diff --git a/java-compat/test/src/main/java/test/Ice/objects/InitialI.java b/java-compat/test/src/main/java/test/Ice/objects/InitialI.java index 792e3d962df..88ca1055e02 100644 --- a/java-compat/test/src/main/java/test/Ice/objects/InitialI.java +++ b/java-compat/test/src/main/java/test/Ice/objects/InitialI.java @@ -20,6 +20,8 @@ import test.Ice.objects.Test.E; import test.Ice.objects.Test.F; import test.Ice.objects.Test.G; import test.Ice.objects.Test.I; +import test.Ice.objects.Test.K; +import test.Ice.objects.Test.L; import test.Ice.objects.Test.A1; import test.Ice.objects.Test.D1; import test.Ice.objects.Test.EDerived; @@ -175,6 +177,13 @@ public final class InitialI extends Initial } @Override + public K + getK(Ice.Current current) + { + return new K(new L("l")); + } + + @Override public D1 getD1(D1 d1, Ice.Current current) { diff --git a/java-compat/test/src/main/java/test/Ice/objects/Test.ice b/java-compat/test/src/main/java/test/Ice/objects/Test.ice index 95da33b1578..9d43497af31 100644 --- a/java-compat/test/src/main/java/test/Ice/objects/Test.ice +++ b/java-compat/test/src/main/java/test/Ice/objects/Test.ice @@ -173,6 +173,16 @@ class Recursive Recursive v; } +class K +{ + Value value; +} + +class L +{ + string data; +} + class Initial { void shutdown(); @@ -191,9 +201,11 @@ class Initial void getAll(out B b1, out B b2, out C theC, out D theD); + I getH(); I getI(); I getJ(); - I getH(); + + K getK(); D1 getD1(D1 d1); void throwEDerived() throws EDerived; diff --git a/java/test/src/main/java/test/Ice/objects/AllTests.java b/java/test/src/main/java/test/Ice/objects/AllTests.java index c8cc245f046..0f7d343209f 100644 --- a/java/test/src/main/java/test/Ice/objects/AllTests.java +++ b/java/test/src/main/java/test/Ice/objects/AllTests.java @@ -20,6 +20,8 @@ import test.Ice.objects.Test.F; import test.Ice.objects.Test.G; import test.Ice.objects.Test.H; import test.Ice.objects.Test.I; +import test.Ice.objects.Test.K; +import test.Ice.objects.Test.L; import test.Ice.objects.Test.A1; import test.Ice.objects.Test.B1; import test.Ice.objects.Test.D1; @@ -195,6 +197,14 @@ public class AllTests test(h != null && ((H)h) != null); out.println("ok"); + out.print("getting K... "); + out.flush(); + K k = initial.getK(); + test(k.value instanceof L); + L l = (L)k.value; + test(l.data.equals("l")); + out.println("ok"); + out.print("getting D1... "); out.flush(); D1 d1 = new D1(new A1("a1"), new A1("a2"), new A1("a3"), new A1("a4")); diff --git a/java/test/src/main/java/test/Ice/objects/InitialI.java b/java/test/src/main/java/test/Ice/objects/InitialI.java index ea12334cb8d..9ef2d5617d7 100644 --- a/java/test/src/main/java/test/Ice/objects/InitialI.java +++ b/java/test/src/main/java/test/Ice/objects/InitialI.java @@ -135,6 +135,12 @@ public final class InitialI implements Initial } @Override + public K getK(com.zeroc.Ice.Current current) + { + return new K(new L("l")); + } + + @Override public D1 getD1(D1 d1, com.zeroc.Ice.Current current) { return d1; diff --git a/java/test/src/main/java/test/Ice/objects/Test.ice b/java/test/src/main/java/test/Ice/objects/Test.ice index eefcdf650d9..2655564b794 100644 --- a/java/test/src/main/java/test/Ice/objects/Test.ice +++ b/java/test/src/main/java/test/Ice/objects/Test.ice @@ -173,6 +173,16 @@ class Recursive Recursive v; } +class K +{ + Value value; +} + +class L +{ + string data; +} + interface Initial { void shutdown(); @@ -191,9 +201,11 @@ interface Initial void getAll(out B b1, out B b2, out C theC, out D theD); + I getH(); I getI(); I getJ(); - I getH(); + + K getK(); D1 getD1(D1 d1); void throwEDerived() throws EDerived; diff --git a/js/test/Ice/objects/Client.js b/js/test/Ice/objects/Client.js index 593824b8529..401f0e808a9 100644 --- a/js/test/Ice/objects/Client.js +++ b/js/test/Ice/objects/Client.js @@ -267,6 +267,12 @@ test(h); out.writeLine("ok"); + out.write("getting K..."); + const k = await initial.getK(); + test(k); + test(k.value.data == "l"); + out.writeLine("ok"); + out.write("getting D1... "); const d1 = await initial.getD1(new Test.D1(new Test.A1("a1"), new Test.A1("a2"), diff --git a/js/test/Ice/objects/InitialI.js b/js/test/Ice/objects/InitialI.js index f209b35e634..b0864a4280c 100644 --- a/js/test/Ice/objects/InitialI.js +++ b/js/test/Ice/objects/InitialI.js @@ -254,6 +254,11 @@ return new HI(); } + getK(current) + { + return new Test.K(new Test.L("l")); + } + getD1(d1, current) { return d1; diff --git a/js/test/Ice/objects/Test.ice b/js/test/Ice/objects/Test.ice index e1461e326ba..aa4750b87bf 100644 --- a/js/test/Ice/objects/Test.ice +++ b/js/test/Ice/objects/Test.ice @@ -176,6 +176,16 @@ class Recursive Recursive v; } +class K +{ + Value value; +} + +class L +{ + string data; +} + interface Initial { void shutdown(); @@ -194,9 +204,11 @@ interface Initial void getAll(out B b1, out B b2, out C theC, out D theD); + I getH(); I getI(); I getJ(); - I getH(); + + K getK(); D1 getD1(D1 d1); void throwEDerived() throws EDerived; diff --git a/matlab/test/Ice/objects/AllTests.m b/matlab/test/Ice/objects/AllTests.m index 3df02fc80ab..964c111a3ec 100644 --- a/matlab/test/Ice/objects/AllTests.m +++ b/matlab/test/Ice/objects/AllTests.m @@ -113,6 +113,13 @@ classdef AllTests assert(~isempty(h) && isa(h, 'Test.H')); fprintf('ok\n'); + fprintf('getting K... '); + k = initial.getK(); + assert(~isempty(k)); + assert(isa(k.value, 'Test.L')); + assert(strcmp(k.value.data, 'l')); + fprintf('ok\n'); + fprintf('getting D1... '); d1 = D1(A1('a1'), A1('a2'), A1('a3'), A1('a4')); d1 = initial.getD1(d1); diff --git a/matlab/test/Ice/objects/Test.ice b/matlab/test/Ice/objects/Test.ice index b9e1ecc9d29..1c363fc869e 100644 --- a/matlab/test/Ice/objects/Test.ice +++ b/matlab/test/Ice/objects/Test.ice @@ -172,6 +172,16 @@ class Recursive Recursive v; } +class K +{ + Value value; +} + +class L +{ + string data; +} + interface Initial { void shutdown(); @@ -190,9 +200,11 @@ interface Initial void getAll(out B b1, out B b2, out C theC, out D theD); + I getH(); I getI(); I getJ(); - I getH(); + + K getK(); D1 getD1(D1 d1); void throwEDerived() throws EDerived; diff --git a/python/test/Ice/objects/AllTests.py b/python/test/Ice/objects/AllTests.py index b8dde23b1b4..2ddefafb01b 100644 --- a/python/test/Ice/objects/AllTests.py +++ b/python/test/Ice/objects/AllTests.py @@ -111,6 +111,13 @@ def allTests(helper, communicator): test(isinstance(h, Test.H)) print("ok") + sys.stdout.write("getting K... ") + sys.stdout.flush() + k = initial.getK() + test(isinstance(k.value, Test.L)) + test(k.value.data == "l") + print("ok") + sys.stdout.write("getting D1... ") sys.stdout.flush() d1 = initial.getD1(Test.D1(Test.A1("a1"), Test.A1("a2"), Test.A1("a3"), Test.A1("a4"))) diff --git a/python/test/Ice/objects/Test.ice b/python/test/Ice/objects/Test.ice index 7f9a7ebaa62..a6a3034400e 100644 --- a/python/test/Ice/objects/Test.ice +++ b/python/test/Ice/objects/Test.ice @@ -172,6 +172,16 @@ class Recursive Recursive v; } +class K +{ + Value value; +} + +class L +{ + string data; +} + interface Initial { void shutdown(); @@ -190,9 +200,11 @@ interface Initial void getAll(out B b1, out B b2, out C theC, out D theD); + I getH(); I getI(); I getJ(); - I getH(); + + K getK(); D1 getD1(D1 d1); void throwEDerived() throws EDerived; diff --git a/python/test/Ice/objects/TestI.py b/python/test/Ice/objects/TestI.py index 7bdcbc6b338..6da50f05ef2 100644 --- a/python/test/Ice/objects/TestI.py +++ b/python/test/Ice/objects/TestI.py @@ -153,6 +153,9 @@ class InitialI(Test.Initial): def getH(self, current=None): return HI() + def getK(self, current=None): + return Test.K(Test.L("l")) + def getD1(self, d1, current=None): return d1 |