diff options
Diffstat (limited to 'js/test/Ice/exceptionsBidir/ThrowerI.js')
-rw-r--r-- | js/test/Ice/exceptionsBidir/ThrowerI.js | 161 |
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)); |