summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2014-09-24 11:48:06 -0230
committerDwayne Boone <dwayne@zeroc.com>2014-09-24 11:48:06 -0230
commitf91e2deab913a8cb740f73dd7021555b4c83296d (patch)
treea7c3c50710b21602da81ddb4d9760334e562f85e
parentICE-5611 Add support for Ice/RouterFinder to Glacier2 helpers (diff)
downloadice-f91e2deab913a8cb740f73dd7021555b4c83296d.tar.bz2
ice-f91e2deab913a8cb740f73dd7021555b4c83296d.tar.xz
ice-f91e2deab913a8cb740f73dd7021555b4c83296d.zip
ICE-5689 Test for JavaScript nested modules not implemented in Java/C#
-rw-r--r--cs/test/Ice/objects/InitialI.cs48
-rw-r--r--cs/test/Ice/objects/Test.ice38
-rw-r--r--java/test/Ice/objects/InitialI.java29
-rw-r--r--java/test/Ice/objects/Test.ice38
4 files changed, 137 insertions, 16 deletions
diff --git a/cs/test/Ice/objects/InitialI.cs b/cs/test/Ice/objects/InitialI.cs
index 8a1573bcefe..756968570f0 100644
--- a/cs/test/Ice/objects/InitialI.cs
+++ b/cs/test/Ice/objects/InitialI.cs
@@ -20,22 +20,22 @@ public sealed class InitialI : Initial
_d = new DI();
_e = new EI();
_f = new FI(_e);
-
+
_b1.theA = _b2; // Cyclic reference to another B
_b1.theB = _b1; // Self reference.
_b1.theC = null; // Null reference.
-
+
_b2.theA = _b2; // Self reference, using base.
_b2.theB = _b1; // Cyclic reference to another B
_b2.theC = _c; // Cyclic reference to a C.
-
+
_c.theB = _b2; // Cyclic reference to a B.
-
+
_d.theA = _b1; // Reference to a B.
_d.theB = _b2; // Reference to a B.
_d.theC = null; // Reference to a C.
}
-
+
public override void getAll(out B b1, out B b2, out C c, out D d, Ice.Current current)
{
b1 = _b1;
@@ -43,17 +43,17 @@ public sealed class InitialI : Initial
c = _c;
d = _d;
}
-
+
public override B getB1(Ice.Current current)
{
return _b1;
}
-
+
public override B getB2(Ice.Current current)
{
return _b2;
}
-
+
public override C getC(Ice.Current current)
{
return _c;
@@ -73,17 +73,17 @@ public sealed class InitialI : Initial
{
return _f;
}
-
+
public override I getI(Ice.Current current)
{
return new II();
}
-
+
public override I getJ(Ice.Current current)
{
return new JI();
}
-
+
public override I getH(Ice.Current current)
{
return new HI();
@@ -92,7 +92,7 @@ public sealed class InitialI : Initial
public override void setI(I theI, Ice.Current current)
{
}
-
+
public override Base[] opBaseSeq(Base[] inS, out Base[] outS, Ice.Current current)
{
outS = inS;
@@ -108,7 +108,29 @@ public sealed class InitialI : Initial
{
_adapter.getCommunicator().shutdown();
}
-
+
+ public override Test.Inner.A
+ getInnerA(Ice.Current current)
+ {
+ return new Test.Inner.A(_b1);
+ }
+
+ public override Test.Inner.Sub.A
+ getInnerSubA(Ice.Current current)
+ {
+ return new Test.Inner.Sub.A(new Test.Inner.A(_b1));
+ }
+
+ public override void throwInnerEx(Ice.Current current)
+ {
+ throw new Test.Inner.Ex("Inner::Ex");
+ }
+
+ public override void throwInnerSubEx(Ice.Current current)
+ {
+ throw new Test.Inner.Sub.Ex("Inner::Sub::Ex");
+ }
+
private Ice.ObjectAdapter _adapter;
private B _b1;
private B _b2;
diff --git a/cs/test/Ice/objects/Test.ice b/cs/test/Ice/objects/Test.ice
index 51bad251fd7..ddcc2b44dc8 100644
--- a/cs/test/Ice/objects/Test.ice
+++ b/cs/test/Ice/objects/Test.ice
@@ -57,7 +57,7 @@ class D
{
A theA;
B theB;
- C theC;
+ C theC;
bool preMarshalInvoked;
bool postUnmarshalInvoked();
@@ -105,6 +105,36 @@ class CompactExt(CompactExtId) extends Compact
{
};
+module Inner
+{
+
+class A
+{
+ ::Test::A theA;
+};
+
+exception Ex
+{
+ string reason;
+};
+
+module Sub
+{
+
+class A
+{
+ ::Test::Inner::A theA;
+};
+
+exception Ex
+{
+ string reason;
+};
+
+};
+
+};
+
class Initial
{
void shutdown();
@@ -126,6 +156,12 @@ class Initial
BaseSeq opBaseSeq(BaseSeq inSeq, out BaseSeq outSeq);
Compact getCompact();
+
+ Inner::A getInnerA();
+ Inner::Sub::A getInnerSubA();
+
+ void throwInnerEx() throws Inner::Ex;
+ void throwInnerSubEx() throws Inner::Sub::Ex;
};
class Empty
diff --git a/java/test/Ice/objects/InitialI.java b/java/test/Ice/objects/InitialI.java
index 2678d597cce..eaa1be7785b 100644
--- a/java/test/Ice/objects/InitialI.java
+++ b/java/test/Ice/objects/InitialI.java
@@ -24,7 +24,6 @@ import test.Ice.objects.Test.Initial;
import test.Ice.objects.Test.Compact;
import test.Ice.objects.Test.CompactExt;
-
public final class InitialI extends Initial
{
public
@@ -165,6 +164,34 @@ public final class InitialI extends Initial
}
@Override
+ public test.Ice.objects.Test.Inner.A
+ getInnerA(Ice.Current current)
+ {
+ return new test.Ice.objects.Test.Inner.A(_b1);
+ }
+
+ @Override
+ public test.Ice.objects.Test.Inner.Sub.A
+ getInnerSubA(Ice.Current current)
+ {
+ return new test.Ice.objects.Test.Inner.Sub.A(new test.Ice.objects.Test.Inner.A(_b1));
+ }
+
+ @Override
+ public void throwInnerEx(Ice.Current current)
+ throws test.Ice.objects.Test.Inner.Ex
+ {
+ throw new test.Ice.objects.Test.Inner.Ex("Inner::Ex");
+ }
+
+ @Override
+ public void throwInnerSubEx(Ice.Current current)
+ throws test.Ice.objects.Test.Inner.Sub.Ex
+ {
+ throw new test.Ice.objects.Test.Inner.Sub.Ex("Inner::Sub::Ex");
+ }
+
+ @Override
public void
shutdown(Ice.Current current)
{
diff --git a/java/test/Ice/objects/Test.ice b/java/test/Ice/objects/Test.ice
index 4d195499d65..d4644b11a64 100644
--- a/java/test/Ice/objects/Test.ice
+++ b/java/test/Ice/objects/Test.ice
@@ -58,7 +58,7 @@ class D
{
A theA;
B theB;
- C theC;
+ C theC;
bool preMarshalInvoked;
bool postUnmarshalInvoked();
@@ -106,6 +106,36 @@ class CompactExt(CompactExtId) extends Compact
{
};
+module Inner
+{
+
+class A
+{
+ ::Test::A theA;
+};
+
+exception Ex
+{
+ string reason;
+};
+
+module Sub
+{
+
+class A
+{
+ ::Test::Inner::A theA;
+};
+
+exception Ex
+{
+ string reason;
+};
+
+};
+
+};
+
class Initial
{
void shutdown();
@@ -127,6 +157,12 @@ class Initial
BaseSeq opBaseSeq(BaseSeq inSeq, out BaseSeq outSeq);
Compact getCompact();
+
+ Inner::A getInnerA();
+ Inner::Sub::A getInnerSubA();
+
+ void throwInnerEx() throws Inner::Ex;
+ void throwInnerSubEx() throws Inner::Sub::Ex;
};
class Empty