summaryrefslogtreecommitdiff
path: root/objective-c/test/Ice/exceptions/ExceptionsTest.ice
diff options
context:
space:
mode:
Diffstat (limited to 'objective-c/test/Ice/exceptions/ExceptionsTest.ice')
-rw-r--r--objective-c/test/Ice/exceptions/ExceptionsTest.ice88
1 files changed, 88 insertions, 0 deletions
diff --git a/objective-c/test/Ice/exceptions/ExceptionsTest.ice b/objective-c/test/Ice/exceptions/ExceptionsTest.ice
new file mode 100644
index 00000000000..7cdc47b8bcf
--- /dev/null
+++ b/objective-c/test/Ice/exceptions/ExceptionsTest.ice
@@ -0,0 +1,88 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+#pragma once
+
+#include <Ice/BuiltinSequences.ice>
+
+["objc:prefix:TestExceptions"]
+module Test
+{
+
+interface Empty
+{
+};
+
+interface Thrower;
+
+exception A
+{
+ int aMem;
+};
+
+exception B extends A
+{
+ int bMem;
+};
+
+exception C extends B
+{
+ int cMem;
+};
+
+exception D
+{
+ int dMem;
+};
+
+["objc:prefix:TestExceptionsMod"]
+module Mod
+{
+ exception A extends ::Test::A
+ {
+ int a2Mem;
+ };
+};
+
+
+interface Thrower
+{
+ void shutdown();
+ bool supportsUndeclaredExceptions();
+ bool supportsAssertException();
+
+ void throwAasA(int a) throws A;
+ void throwAorDasAorD(int a) throws A, D;
+ void throwBasA(int a, int b) throws A;
+ void throwCasA(int a, int b, int c) throws A;
+ void throwBasB(int a, int b) throws B;
+ void throwCasB(int a, int b, int c) throws B;
+ void throwCasC(int a, int b, int c) throws C;
+
+ void throwModA(int a, int a2) throws Mod::A;
+
+ void throwUndeclaredA(int a);
+ void throwUndeclaredB(int a, int b);
+ void throwUndeclaredC(int a, int b, int c);
+ void throwLocalException();
+ void throwNonIceException();
+ void throwAssertException();
+ Ice::ByteSeq throwMemoryLimitException(Ice::ByteSeq seq);
+ idempotent void throwLocalExceptionIdempotent();
+
+ void throwAfterResponse();
+ void throwAfterException() throws A;
+};
+
+interface WrongOperation
+{
+ void noSuchOperation();
+};
+
+};