summaryrefslogtreecommitdiff
path: root/cpp/test/Ice/operations/Twoways.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice/operations/Twoways.cpp')
-rw-r--r--cpp/test/Ice/operations/Twoways.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/cpp/test/Ice/operations/Twoways.cpp b/cpp/test/Ice/operations/Twoways.cpp
index 86c7ab4c959..64e37f28d5e 100644
--- a/cpp/test/Ice/operations/Twoways.cpp
+++ b/cpp/test/Ice/operations/Twoways.cpp
@@ -658,6 +658,31 @@ twoways(const Ice::CommunicatorPtr& communicator, const Test::MyClassPrx& p)
communicator->setDefaultContext(Ice::Context());
test(!p2->opContext().empty());
+
+ communicator->setDefaultContext(dflt);
+ Test::MyClassPrx c = Test::MyClassPrx::checkedCast(
+ communicator->stringToProxy("test:default -p 12345 -t 10000"));
+ test(c->opContext() == dflt);
+
+ dflt["a"] = "c";
+ Test::MyClassPrx c2 = Test::MyClassPrx::uncheckedCast(c->ice_newContext(dflt));
+ test(c2->opContext()["a"] == "c");
+
+ dflt.clear();
+ Test::MyClassPrx c3 = Test::MyClassPrx::uncheckedCast(c2->ice_newContext(dflt));
+ Ice::Context tmp = c3->opContext();
+ test(tmp.find("a") == tmp.end());
+
+ Test::MyClassPrx c4 = Test::MyClassPrx::uncheckedCast(c2->ice_defaultContext());
+ test(c4->opContext()["a"] == "b");
+
+ dflt["a"] = "d";
+ communicator->setDefaultContext(dflt);
+
+ Test::MyClassPrx c5 = Test::MyClassPrx::uncheckedCast(c->ice_defaultContext());
+ test(c5->opContext()["a"] == "d");
+
+ communicator->setDefaultContext(Ice::Context());
}
}
}