summaryrefslogtreecommitdiff
path: root/python/test
diff options
context:
space:
mode:
Diffstat (limited to 'python/test')
-rw-r--r--python/test/Ice/optional/AllTests.py9
-rwxr-xr-xpython/test/Ice/optional/Server.py3
-rwxr-xr-xpython/test/Ice/optional/ServerAMD.py3
-rw-r--r--python/test/Ice/optional/Test.ice3
-rw-r--r--python/test/Ice/optional/TestAMD.ice3
5 files changed, 21 insertions, 0 deletions
diff --git a/python/test/Ice/optional/AllTests.py b/python/test/Ice/optional/AllTests.py
index e2c20f64783..3531365239a 100644
--- a/python/test/Ice/optional/AllTests.py
+++ b/python/test/Ice/optional/AllTests.py
@@ -718,6 +718,15 @@ def allTests(communicator):
(p2, p3) = initial.end_opStringIntDict(r)
test(p2 == p1 and p3 == p1)
+ (p2, p3) = initial.opIntOneOptionalDict(Ice.Unset)
+ test(p2 is Ice.Unset and p3 is Ice.Unset)
+ p1 = {1:Test.OneOptional(58), 2:Test.OneOptional(59)}
+ (p2, p3) = initial.opIntOneOptionalDict(p1)
+ test(p2[1].a == 58 and p3[1].a == 58);
+ r = initial.begin_opIntOneOptionalDict(p1)
+ (p2, p3) = initial.end_opIntOneOptionalDict(r)
+ test(p2[1].a == 58 and p3[1].a == 58);
+
print("ok")
sys.stdout.write("testing exception optionals... ")
diff --git a/python/test/Ice/optional/Server.py b/python/test/Ice/optional/Server.py
index eba7e7ccad6..6f1d9f2fdb7 100755
--- a/python/test/Ice/optional/Server.py
+++ b/python/test/Ice/optional/Server.py
@@ -129,6 +129,9 @@ class InitialI(Test.Initial):
def opStringIntDict(self, p1, current=None):
return (p1, p1)
+ def opIntOneOptionalDict(self, p1, current=None):
+ return (p1, p1)
+
def opClassAndUnknownOptional(self, p, current=None):
pass
diff --git a/python/test/Ice/optional/ServerAMD.py b/python/test/Ice/optional/ServerAMD.py
index 97ae0ce268e..b3b913304e4 100755
--- a/python/test/Ice/optional/ServerAMD.py
+++ b/python/test/Ice/optional/ServerAMD.py
@@ -130,6 +130,9 @@ class InitialI(Test.Initial):
def opStringIntDict_async(self, cb, p1, current=None):
cb.ice_response(p1, p1)
+ def opIntOneOptionalDict_async(self, cb, p1, current=None):
+ cb.ice_response(p1, p1)
+
def opClassAndUnknownOptional_async(self, cb, p, current=None):
cb.ice_response()
diff --git a/python/test/Ice/optional/Test.ice b/python/test/Ice/optional/Test.ice
index 503483b5c1a..025384c6ca8 100644
--- a/python/test/Ice/optional/Test.ice
+++ b/python/test/Ice/optional/Test.ice
@@ -271,6 +271,9 @@ class Initial
optional(1) StringIntDict opStringIntDict(optional(2) StringIntDict p1, out optional(3) StringIntDict p3);
+ optional(1) IntOneOptionalDict opIntOneOptionalDict(optional(2) IntOneOptionalDict p1,
+ out optional(3) IntOneOptionalDict p3);
+
void opClassAndUnknownOptional(A p);
void sendOptionalClass(bool req, optional(1) OneOptional o);
diff --git a/python/test/Ice/optional/TestAMD.ice b/python/test/Ice/optional/TestAMD.ice
index ae7a8a57dab..4b78e411c68 100644
--- a/python/test/Ice/optional/TestAMD.ice
+++ b/python/test/Ice/optional/TestAMD.ice
@@ -272,6 +272,9 @@ class Initial
optional(1) StringIntDict opStringIntDict(optional(2) StringIntDict p1, out optional(3) StringIntDict p3);
+ optional(1) IntOneOptionalDict opIntOneOptionalDict(optional(2) IntOneOptionalDict p1,
+ out optional(3) IntOneOptionalDict p3);
+
void opClassAndUnknownOptional(A p);
void sendOptionalClass(bool req, optional(1) OneOptional o);