summaryrefslogtreecommitdiff
path: root/js/test/Ice/enums/Client.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/test/Ice/enums/Client.js')
-rw-r--r--js/test/Ice/enums/Client.js237
1 files changed, 237 insertions, 0 deletions
diff --git a/js/test/Ice/enums/Client.js b/js/test/Ice/enums/Client.js
new file mode 100644
index 00000000000..827d4e82ec7
--- /dev/null
+++ b/js/test/Ice/enums/Client.js
@@ -0,0 +1,237 @@
+// **********************************************************************
+//
+// 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 require = typeof(module) !== "undefined" ? module.require : function(){};
+ require("Ice/Ice");
+ var Ice = global.Ice;
+
+ require("Test");
+ var Test = global.Test;
+ var Promise = Ice.Promise;
+
+ var allTests = function(out, communicator)
+ {
+ var p = new Ice.Promise();
+ var test = function(b)
+ {
+ if(!b)
+ {
+ try
+ {
+ throw new Error("test failed");
+ }
+ catch(err)
+ {
+ p.fail(err);
+ throw err;
+ }
+ }
+ };
+
+ var base, proxy;
+ Promise.try(
+ function()
+ {
+ out.write("testing stringToProxy... ");
+ var ref = "test:default -p 12010";
+ base = communicator.stringToProxy(ref);
+ test(base !== null);
+ out.writeLine("ok");
+ out.write("testing checked cast... ");
+ return Test.TestIntfPrx.checkedCast(base);
+ }
+ ).then(
+ function(obj)
+ {
+ proxy = obj;
+ test(proxy !== null);
+ test(proxy.equals(base));
+ out.writeLine("ok");
+ out.write("testing enum values... ");
+ test(Test.ByteEnum.benum1.value === 0);
+ test(Test.ByteEnum.benum2.value === 1);
+ test(Test.ByteEnum.benum3.value === Test.ByteConst1);
+ test(Test.ByteEnum.benum4.value === Test.ByteConst1 + 1);
+ test(Test.ByteEnum.benum5.value === Test.ShortConst1);
+ test(Test.ByteEnum.benum6.value === Test.ShortConst1 + 1);
+ test(Test.ByteEnum.benum7.value === Test.IntConst1);
+ test(Test.ByteEnum.benum8.value === Test.IntConst1 + 1);
+ test(Test.ByteEnum.benum9.value === Test.LongConst1.low);
+ test(Test.ByteEnum.benum10.value === Test.LongConst1.low + 1);
+ test(Test.ByteEnum.benum11.value === Test.ByteConst2);
+
+ test(Test.ByteEnum.valueOf(0) === Test.ByteEnum.benum1);
+ test(Test.ByteEnum.valueOf(1) === Test.ByteEnum.benum2);
+ test(Test.ByteEnum.valueOf(Test.ByteConst1) === Test.ByteEnum.benum3);
+ test(Test.ByteEnum.valueOf(Test.ByteConst1+ 1) === Test.ByteEnum.benum4);
+ test(Test.ByteEnum.valueOf(Test.ShortConst1) === Test.ByteEnum.benum5);
+ test(Test.ByteEnum.valueOf(Test.ShortConst1 + 1) === Test.ByteEnum.benum6);
+ test(Test.ByteEnum.valueOf(Test.IntConst1) === Test.ByteEnum.benum7);
+ test(Test.ByteEnum.valueOf(Test.IntConst1 + 1) === Test.ByteEnum.benum8);
+ test(Test.ByteEnum.valueOf(Test.LongConst1.low) === Test.ByteEnum.benum9);
+ test(Test.ByteEnum.valueOf(Test.LongConst1.low + 1) === Test.ByteEnum.benum10);
+ test(Test.ByteEnum.valueOf(Test.ByteConst2) === Test.ByteEnum.benum11);
+
+ test(Test.ShortEnum.senum1.value === 3);
+ test(Test.ShortEnum.senum2.value === 4);
+ test(Test.ShortEnum.senum3.value === Test.ByteConst1);
+ test(Test.ShortEnum.senum4.value === Test.ByteConst1 + 1);
+ test(Test.ShortEnum.senum5.value === Test.ShortConst1);
+ test(Test.ShortEnum.senum6.value === Test.ShortConst1 + 1);
+ test(Test.ShortEnum.senum7.value === Test.IntConst1);
+ test(Test.ShortEnum.senum8.value === Test.IntConst1 + 1);
+ test(Test.ShortEnum.senum9.value === Test.LongConst1.low);
+ test(Test.ShortEnum.senum10.value === Test.LongConst1.low + 1);
+ test(Test.ShortEnum.senum11.value === Test.ShortConst2);
+
+ test(Test.ShortEnum.valueOf(3) === Test.ShortEnum.senum1);
+ test(Test.ShortEnum.valueOf(4) === Test.ShortEnum.senum2);
+ test(Test.ShortEnum.valueOf(Test.ByteConst1) === Test.ShortEnum.senum3);
+ test(Test.ShortEnum.valueOf(Test.ByteConst1 + 1) === Test.ShortEnum.senum4);
+ test(Test.ShortEnum.valueOf(Test.ShortConst1) === Test.ShortEnum.senum5);
+ test(Test.ShortEnum.valueOf(Test.ShortConst1 + 1) === Test.ShortEnum.senum6);
+ test(Test.ShortEnum.valueOf(Test.IntConst1) === Test.ShortEnum.senum7);
+ test(Test.ShortEnum.valueOf(Test.IntConst1 + 1) === Test.ShortEnum.senum8);
+ test(Test.ShortEnum.valueOf(Test.LongConst1.low) === Test.ShortEnum.senum9);
+ test(Test.ShortEnum.valueOf(Test.LongConst1.low + 1) === Test.ShortEnum.senum10);
+ test(Test.ShortEnum.valueOf(Test.ShortConst2) === Test.ShortEnum.senum11);
+
+ test(Test.IntEnum.ienum1.value === 0);
+ test(Test.IntEnum.ienum2.value === 1);
+ test(Test.IntEnum.ienum3.value === Test.ByteConst1);
+ test(Test.IntEnum.ienum4.value === Test.ByteConst1 + 1);
+ test(Test.IntEnum.ienum5.value === Test.ShortConst1);
+ test(Test.IntEnum.ienum6.value === Test.ShortConst1 + 1);
+ test(Test.IntEnum.ienum7.value === Test.IntConst1);
+ test(Test.IntEnum.ienum8.value === Test.IntConst1 + 1);
+ test(Test.IntEnum.ienum9.value === Test.LongConst1.low);
+ test(Test.IntEnum.ienum10.value === Test.LongConst1.low + 1);
+ test(Test.IntEnum.ienum11.value === Test.IntConst2);
+ test(Test.IntEnum.ienum12.value === Test.LongConst2.low);
+
+ test(Test.IntEnum.valueOf(0) === Test.IntEnum.ienum1);
+ test(Test.IntEnum.valueOf(1) === Test.IntEnum.ienum2);
+ test(Test.IntEnum.valueOf(Test.ByteConst1) === Test.IntEnum.ienum3);
+ test(Test.IntEnum.valueOf(Test.ByteConst1 + 1) === Test.IntEnum.ienum4);
+ test(Test.IntEnum.valueOf(Test.ShortConst1) === Test.IntEnum.ienum5);
+ test(Test.IntEnum.valueOf(Test.ShortConst1 + 1) === Test.IntEnum.ienum6);
+ test(Test.IntEnum.valueOf(Test.IntConst1) === Test.IntEnum.ienum7);
+ test(Test.IntEnum.valueOf(Test.IntConst1 + 1) === Test.IntEnum.ienum8);
+ test(Test.IntEnum.valueOf(Test.LongConst1.low) === Test.IntEnum.ienum9);
+ test(Test.IntEnum.valueOf(Test.LongConst1.low + 1) === Test.IntEnum.ienum10);
+ test(Test.IntEnum.valueOf(Test.IntConst2) === Test.IntEnum.ienum11);
+ test(Test.IntEnum.valueOf(Test.LongConst2.low) === Test.IntEnum.ienum12);
+
+ test(Test.SimpleEnum.red.value === 0);
+ test(Test.SimpleEnum.green.value === 1);
+ test(Test.SimpleEnum.blue.value === 2);
+
+ test(Test.SimpleEnum.valueOf(0) === Test.SimpleEnum.red);
+ test(Test.SimpleEnum.valueOf(1) === Test.SimpleEnum.green);
+ test(Test.SimpleEnum.valueOf(2) === Test.SimpleEnum.blue);
+
+ out.writeLine("ok");
+ }
+ ).then(
+ function()
+ {
+ out.write("testing enum operations... ");
+ return proxy.opByte(Test.ByteEnum.benum1);
+ }
+ ).then(
+ function(r, b1)
+ {
+ test(r === b1);
+ test(r === Test.ByteEnum.benum1);
+ return proxy.opByte(Test.ByteEnum.benum11);
+ }
+ ).then(
+ function(r, b11)
+ {
+ test(r === b11);
+ test(r === Test.ByteEnum.benum11);
+ return proxy.opShort(Test.ShortEnum.senum1);
+ }
+ ).then(
+ function(r, s1)
+ {
+ test(r === s1);
+ test(r === Test.ShortEnum.senum1);
+ return proxy.opShort(Test.ShortEnum.senum11);
+ }
+ ).then(
+ function(r, s11)
+ {
+ test(r === s11);
+ test(r === Test.ShortEnum.senum11);
+ return proxy.opInt(Test.IntEnum.ienum1);
+ }
+ ).then(
+ function(r, i1)
+ {
+ test(r === i1);
+ test(r === Test.IntEnum.ienum1);
+ return proxy.opInt(Test.IntEnum.ienum11);
+ }
+ ).then(
+ function(r, i11)
+ {
+ test(r === i11);
+ test(r === Test.IntEnum.ienum11);
+ return proxy.opInt(Test.IntEnum.ienum12);
+ }
+ ).then(
+ function(r, i12)
+ {
+ test(r === i12);
+ test(r === Test.IntEnum.ienum12);
+ return proxy.opSimple(Test.SimpleEnum.green);
+ }
+ ).then(
+ function(r, g)
+ {
+ test(r === g);
+ test(r === Test.SimpleEnum.green);
+
+ out.writeLine("ok");
+ return proxy.shutdown();
+ }
+ ).then(
+ function()
+ {
+ p.succeed();
+ },
+ function(ex)
+ {
+ p.fail(ex)
+ }
+ );
+ return p;
+ };
+
+ var run = function(out, id)
+ {
+ return Promise.try(
+ function()
+ {
+ var c = Ice.initialize(id);
+ return allTests(out, c).finally(
+ function()
+ {
+ if(c)
+ {
+ return c.destroy();
+ }
+ });
+ });
+ };
+ global.__test__ = run;
+ global.__runServer__ = true;
+}(typeof (global) === "undefined" ? window : global));