summaryrefslogtreecommitdiff
path: root/js/test/Ice/exceptions/AMDThrowerI.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/test/Ice/exceptions/AMDThrowerI.js')
-rw-r--r--js/test/Ice/exceptions/AMDThrowerI.js163
1 files changed, 163 insertions, 0 deletions
diff --git a/js/test/Ice/exceptions/AMDThrowerI.js b/js/test/Ice/exceptions/AMDThrowerI.js
new file mode 100644
index 00000000000..0260adaa6b3
--- /dev/null
+++ b/js/test/Ice/exceptions/AMDThrowerI.js
@@ -0,0 +1,163 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2016 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.
+//
+// **********************************************************************
+
+(function(module, require, exports)
+{
+ var Ice = require("ice").Ice;
+ var Test = require("Test").Test;
+ var Class = Ice.Class;
+
+ var test = function(b)
+ {
+ if(!b)
+ {
+ throw new Error("test failed");
+ }
+ };
+
+ class AMDThrowerI extends Test.Thrower
+ {
+ shutdown(current)
+ {
+ current.adapter.getCommunicator().shutdown();
+ return Promise.resolve();
+ }
+
+ supportsUndeclaredExceptions(current)
+ {
+ return Promise.resolve(true);
+ }
+
+ supportsAssertException(current)
+ {
+ return Promise.resolve(false);
+ }
+
+ throwAasA(a, current)
+ {
+ var ex = new Test.A();
+ ex.aMem = a;
+ return Promise.reject(ex);
+ }
+
+ throwAorDasAorD(a, current)
+ {
+ var ex;
+ if(a > 0)
+ {
+ ex = new Test.A();
+ ex.aMem = a;
+ return Promise.reject(ex);
+ }
+ else
+ {
+ ex = new Test.D();
+ ex.dMem = a;
+ return Promise.reject(ex);
+ }
+ }
+
+ throwBasA(a, b, current)
+ {
+ return this.throwBasB(a, b, current);
+ }
+
+ throwBasB(a, b, current)
+ {
+ var ex = new Test.B();
+ ex.aMem = a;
+ ex.bMem = b;
+ return Promise.reject(ex);
+ }
+
+ throwCasA(a, b, c, current)
+ {
+ return this.throwCasC(a, b, c, current);
+ }
+
+ throwCasB(a, b, c, current)
+ {
+ return this.throwCasC(a, b, c, current);
+ }
+
+ throwCasC(a, b, c, current)
+ {
+ var ex = new Test.C();
+ ex.aMem = a;
+ ex.bMem = b;
+ ex.cMem = c;
+ return Promise.reject(ex);
+ }
+
+ throwUndeclaredA(a, current)
+ {
+ var ex = new Test.A();
+ ex.aMem = a;
+ return Promise.reject(ex);
+ }
+
+ throwUndeclaredB(a, b, current)
+ {
+ var ex = new Test.B();
+ ex.aMem = a;
+ ex.bMem = b;
+ return Promise.reject(ex);
+ }
+
+ throwUndeclaredC(a, b, c, current)
+ {
+ var ex = new Test.C();
+ ex.aMem = a;
+ ex.bMem = b;
+ ex.cMem = c;
+ return Promise.reject(ex);
+ }
+
+ throwLocalException(current)
+ {
+ return Promise.reject(new Ice.TimeoutException());
+ }
+
+ throwLocalExceptionIdempotent(current)
+ {
+ return Promise.reject(new Ice.TimeoutException());
+ }
+
+ throwNonIceException(current)
+ {
+ return Promise.reject(new Error());
+ }
+
+ throwAssertException(current)
+ {
+ test(false);
+ }
+
+ throwMemoryLimitException(seq, current)
+ {
+ return Promise.resolve(Ice.Buffer.createNative(1024 * 20)); // 20KB is over the configured 10KB message size max.
+ }
+
+ throwAfterResponse(current)
+ {
+ return Promise.resolve();
+ //throw new Error();
+ }
+
+ throwAfterException(current)
+ {
+ return Promise.reject(new Test.A());
+ //throw new Error();
+ }
+ }
+ exports.AMDThrowerI = AMDThrowerI;
+}
+(typeof(global) !== "undefined" && typeof(global.process) !== "undefined" ? module : undefined,
+ typeof(global) !== "undefined" && typeof(global.process) !== "undefined" ? require : this.Ice.__require,
+ typeof(global) !== "undefined" && typeof(global.process) !== "undefined" ? exports : this));