diff options
Diffstat (limited to 'cpp/test/Ice/objects/AllTests.cpp')
-rw-r--r-- | cpp/test/Ice/objects/AllTests.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/cpp/test/Ice/objects/AllTests.cpp b/cpp/test/Ice/objects/AllTests.cpp index 04643d44427..829a0c35602 100644 --- a/cpp/test/Ice/objects/AllTests.cpp +++ b/cpp/test/Ice/objects/AllTests.cpp @@ -237,5 +237,39 @@ allTests(const Ice::CommunicatorPtr& communicator) testUOE(communicator); cout << "ok" << endl; + try + { + string ref = "test:default -p 12010"; + TestIntfPrx p = TestIntfPrx::checkedCast(communicator->stringToProxy(ref)); + + cout << "testing UnexpectedObjectException... " << flush; + testUOE(communicator); + cout << "ok" << endl; + + cout << "testing Object factory registration... " << flush; + { + BasePtr base = p->opDerived(); + test(base); + test(base->ice_id() == "::Test::Derived"); + } + cout << "ok" << endl; + + cout << "testing Exception factory registration... " << flush; + { + try + { + p->throwDerived(); + } + catch(const BaseEx& ex) + { + test(ex.ice_name() == "Test::DerivedEx"); + } + } + cout << "ok" << endl; + } + catch(const Ice::ObjectNotExistException&) + { + } + return initial; } |