diff options
Diffstat (limited to 'cpp/test/Ice/operations/TwowaysAMI.cpp')
-rw-r--r-- | cpp/test/Ice/operations/TwowaysAMI.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/cpp/test/Ice/operations/TwowaysAMI.cpp b/cpp/test/Ice/operations/TwowaysAMI.cpp index de7599c7223..59f58e47aad 100644 --- a/cpp/test/Ice/operations/TwowaysAMI.cpp +++ b/cpp/test/Ice/operations/TwowaysAMI.cpp @@ -1206,6 +1206,59 @@ twowaysAMI(const Ice::CommunicatorPtr& communicator, const Test::MyClassPrx& p) p2->opContext_async(cb); test(cb->check()); } + + communicator->setDefaultContext(dflt); + Test::MyClassPrx c = Test::MyClassPrx::checkedCast( + communicator->stringToProxy("test:default -p 12345 -t 10000")); + { + Ice::Context tmp; + tmp["a"] = "b"; + AMI_MyClass_opContextEqualIPtr cb = new AMI_MyClass_opContextEqualI(tmp); + c->opContext_async(cb); + test(cb->check()); + } + + dflt["a"] = "c"; + Test::MyClassPrx c2 = Test::MyClassPrx::uncheckedCast(c->ice_newContext(dflt)); + { + Ice::Context tmp; + tmp["a"] = "c"; + AMI_MyClass_opContextEqualIPtr cb = new AMI_MyClass_opContextEqualI(tmp); + c2->opContext_async(cb); + test(cb->check()); + } + + dflt.clear(); + Test::MyClassPrx c3 = Test::MyClassPrx::uncheckedCast(c2->ice_newContext(dflt)); + { + Ice::Context tmp; + AMI_MyClass_opContextEqualIPtr cb = new AMI_MyClass_opContextEqualI(tmp); + c3->opContext_async(cb); + test(cb->check()); + } + + Test::MyClassPrx c4 = Test::MyClassPrx::uncheckedCast(c2->ice_defaultContext()); + { + Ice::Context tmp; + tmp["a"] = "b"; + AMI_MyClass_opContextEqualIPtr cb = new AMI_MyClass_opContextEqualI(tmp); + c4->opContext_async(cb); + test(cb->check()); + } + + dflt["a"] = "d"; + communicator->setDefaultContext(dflt); + + Test::MyClassPrx c5 = Test::MyClassPrx::uncheckedCast(c->ice_defaultContext()); + { + Ice::Context tmp; + tmp["a"] = "d"; + AMI_MyClass_opContextEqualIPtr cb = new AMI_MyClass_opContextEqualI(tmp); + c5->opContext_async(cb); + test(cb->check()); + } + + communicator->setDefaultContext(Ice::Context()); } } |