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