summaryrefslogtreecommitdiff
path: root/js/test/Ice/promise/Client.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/test/Ice/promise/Client.js')
-rw-r--r--js/test/Ice/promise/Client.js889
1 files changed, 0 insertions, 889 deletions
diff --git a/js/test/Ice/promise/Client.js b/js/test/Ice/promise/Client.js
deleted file mode 100644
index 03bb00238ca..00000000000
--- a/js/test/Ice/promise/Client.js
+++ /dev/null
@@ -1,889 +0,0 @@
-// **********************************************************************
-//
-// 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 Promise = Ice.Promise;
-
- var test = function(b)
- {
- if(!b)
- {
- throw new Error("test failed");
- }
- };
-
- //
- // Create a new promise object and call function fn with
- // the promise as its first argument, then return the new
- // promise.
- //
- var deferred = function(fn)
- {
- var promise = new Promise();
- fn.call(null, promise);
- return promise;
- };
-
- var run = function(out)
- {
- var p = new Promise();
-
- deferred(
- function(promise)
- {
- out.write("Creating a promise object that is resolved and succeed... ");
- var promise1 = new Promise().succeed(1024);
- promise1.then(
- function(i)
- {
- test(i === 1024);
- test(promise1.succeeded());
- out.writeLine("ok");
- promise.succeed();
- },
- function(e)
- {
- promise.fail();
- test(false, e);
- });
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Creating a promise object that is resolved and failed... ");
- var promise1 = new Promise().fail("promise.fail");
- promise1.then(
- function(i)
- {
- promise.fail();
- test(false, i);
- },
- function(e)
- {
- test(e === "promise.fail");
- test(promise1.failed());
- out.writeLine("ok");
- promise.succeed();
- });
- });
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Creating a promise object that is resolved and succeed with multiple arguments... ");
- var promise1 = new Promise().succeed(1024, "Hello World!");
- promise1.then(
- function(i, msg)
- {
- test(i === 1024);
- test(msg === "Hello World!");
- test(promise1.succeeded());
- out.writeLine("ok");
- promise.succeed();
- },
- function(e)
- {
- promise.fail(e);
- test(false, e);
- });
- });
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Creating a promise with a callback that returns a new value... ");
- var promise1 = new Promise().succeed(1024);
- promise1.then(
- function(i)
- {
- test(i === 1024);
- test(promise1.succeeded());
- return "Hello World!";
- },
- function(e)
- {
- promise.fail();
- test(false, e);
- })
- .then(
- function(msg)
- {
- test(msg === "Hello World!");
- out.writeLine("ok");
- promise.succeed();
- },
- function(e)
- {
- promise.fail();
- test(false, e);
- });
- });
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Creating a promise object that recovers from a failure... ");
- var promise1 = new Promise().fail("promise.fail");
- promise1.then(
- function(i)
- {
- promise.fail();
- test(false, "Succeed called.failed expected");
- },
- function(e)
- {
- test(e === "promise.fail");
- test(promise1.failed());
- return "Hello World!";
- })
- .then(
- function(msg)
- {
- test(msg === "Hello World!");
- out.writeLine("ok");
- promise.succeed();
- },
- function(e)
- {
- promise.fail();
- test(false, e);
- });
- });
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Creating a promise object that rethrow a.failure... ");
- var promise1 = new Promise().fail("promise.fail");
- promise1.then(
- function(i)
- {
- promise.fail();
- test(false, i);
- },
- function(e)
- {
- throw e;
- })
- .then(
- function(msg)
- {
- promise.fail();
- test(false, "Succeed called.failed expected");
-
- },
- function(e)
- {
- test(e === "promise.fail");
- test(promise1.failed());
- out.writeLine("ok");
- promise.succeed();
- });
- });
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("A second call to then should produce the same results... ");
- var promise1 = new Promise().succeed(1024);
- promise1.then(
- function(i)
- {
- test(i === 1024);
- test(promise1.succeeded());
- },
- function(e)
- {
- promise.fail();
- test(false, e);
- });
- promise1.then(
- function(i)
- {
- test(i === 1024);
- test(promise1.succeeded());
- },
- function(e)
- {
- promise.fail();
- test(false, e);
- });
-
- promise1 = new Promise().fail("promise.fail");
- promise1.then(
- function(i)
- {
- promise.fail();
- test(false, i);
- },
- function(e)
- {
- test(e === "promise.fail");
- test(promise1.failed());
- });
- promise1.then(
- function(i)
- {
- promise.fail();
- test(false, i);
- },
- function(e)
- {
- test(e === "promise.fail");
- test(promise1.failed());
- out.writeLine("ok");
- promise.succeed();
- });
- });
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Create a promise that is not yet resolved, but will succeed... ");
- var promise1 = new Promise();
- test(!promise1.completed());
- promise1.then(
- function(i)
- {
- test(i === 1024);
- out.writeLine("ok");
- promise.succeed();
- },
- function(e)
- {
- promise.fail();
- test(false, e);
- }
- );
- promise1.succeed(1024);
- });
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Create a promise that is not yet resolved, but will.fail... ");
- var promise1 = new Promise();
- test(!promise1.completed());
- promise1.then(
- function(i)
- {
- promise.fail();
- test(false, "Succeed called.failed expected");
- },
- function(e)
- {
- test(e === "promise.fail");
- test(promise1.failed());
- out.writeLine("ok");
- promise.succeed();
- }
- );
- promise1.fail("promise.fail");
- });
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Create a promise chain that is not yet resolved, but will succeed... ");
- var promise1 = new Promise();
- var promise2 = new Promise();
- var promise3 = new Promise();
- promise1.then(
- function(i)
- {
- test(i === 1);
- return promise2;
- },
- function(e)
- {
- promise.fail();
- test(false, e);
- }
- ).then(
- function(i)
- {
- test(i === 2);
- return promise3;
- },
- function(e)
- {
- promise.fail();
- test(false, e);
- }
- ).then(
- function(i)
- {
- test(i === 3);
- return "Hello World!";
- },
- function(e)
- {
- promise.fail();
- test(false, e);
- }
- ).then(
- function(msg)
- {
- test(promise1.succeeded() && promise2.succeeded() && promise3.succeeded());
- test(msg === "Hello World!");
- out.writeLine("ok");
- promise.succeed();
- },
- function(e)
- {
- promise.fail();
- test(false, e);
- }
- );
- test(!promise1.completed() && !promise2.completed() && !promise3.completed());
-
- promise1.succeed(1);
- promise2.succeed(2);
- promise3.succeed(3);
- });
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Use exception method on a Promise that will.fail... ");
- var promise1 = new Promise().fail("promise.fail");
- promise1.exception(
- function(e)
- {
- test(e === "promise.fail");
- out.writeLine("ok");
- promise.succeed();
- }
- );
- });
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Promise exception propagation in succeed callback... ");
- var promise1 = new Promise().fail("promise.fail");
- promise1.then(
- function()
- {
- promise.fail();
- test(false, "response callback called but exception expected");
- }
- ).then(
- function()
- {
- promise.fail();
- test(false, "response callback called but exception expected");
- }
- ).exception(
- function(e)
- {
- //
- // since no exception handler was passed to the first `.then`, the error propagates.
- //
- test(e === "promise.fail");
- out.writeLine("ok");
- promise.succeed();
- });
- }
- );
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Promise exception propagation in exception callback... ");
- var promise1 = new Promise().fail("promise.fail");
- promise1.then(
- function()
- {
- promise.fail();
- test(false, "response callback called but exception expected");
- },
- function(ex)
- {
- throw "promise.fail";
- }
- ).then(
- function()
- {
- promise.fail();
- test(false, "response callback called but exception expected");
- }
- ).then(
- function()
- {
- promise.fail();
- test(false, "response callback called but exception expected");
- }
- ).exception(
- function(e)
- {
- //
- // since no exception handler was passed to the first `.then`, the error propagates.
- //
- test(e === "promise.fail");
- out.writeLine("ok");
- promise.succeed();
- });
- }
- );
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Use Promise.all to wait for several promises and all succeed... ");
- var promise1 = new Promise();
- var promise2 = new Promise();
- var promise3 = new Promise();
-
- Promise.all(promise1, promise2, promise3).then(
- function(r1, r2, r3)
- {
- test(r1.length === 1);
- test(r1[0] === 1024);
-
- test(r2.length === 2);
- test(r2[0] === 1024);
- test(r2[1] === 2048);
-
- test(r3.length === 3);
- test(r3[0] === 1024);
- test(r3[1] === 2048);
- test(r3[2] === 4096);
-
- promise.succeed();
- },
- function()
- {
- promise.fail();
- test(false);
- }
- );
-
- //
- // Now resolve the promise in the reverse order, all succeed callback
- // will get the result in the right order.
- //
- promise3.succeed(1024, 2048, 4096);
- promise2.succeed(1024, 2048);
- promise1.succeed(1024);
- }
- );
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- //
- // Now try the same using an array of promises
- //
- var promise1 = new Promise();
- var promise2 = new Promise();
- var promise3 = new Promise();
-
- Promise.all([promise1, promise2, promise3]).then(
- function(r1, r2, r3)
- {
- test(r1.length === 1);
- test(r1[0] === 1024);
-
- test(r2.length === 2);
- test(r2[0] === 1024);
- test(r2[1] === 2048);
-
- test(r3.length === 3);
- test(r3[0] === 1024);
- test(r3[1] === 2048);
- test(r3[2] === 4096);
-
- out.writeLine("ok");
- promise.succeed();
- },
- function()
- {
- promise.fail();
- test(false);
- }
- );
-
- //
- // Now resolve the promise in the reverse order, all succeed callback
- // will get the result in the right order.
- //
- promise3.succeed(1024, 2048, 4096);
- promise2.succeed(1024, 2048);
- promise1.succeed(1024);
- }
- );
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Use Promise.all to wait for several promises and one fails... ");
- var promise1 = new Promise();
- var promise2 = new Promise();
- var promise3 = new Promise();
-
- Promise.all(promise1, promise2, promise3).then(
- function(r1, r2, r3)
- {
- promise.fail(new Error());
- },
- function(e)
- {
- test(e === "promise.fail");
- promise.succeed();
- }
- );
-
- //
- // Now resolve the promise in the reverse order.
- //
- promise3.succeed(1024, 2048, 4096);
- promise2.succeed(1024, 2048);
- promise1.fail("promise.fail");
- }
- );
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- //
- // Same as before but using an array of promises.
- var promise1 = new Promise();
- var promise2 = new Promise();
- var promise3 = new Promise();
-
- Promise.all([promise1, promise2, promise3]).then(
- function(r1, r2, r3)
- {
- promise.fail(new Error());
- },
- function(e)
- {
- test(e === "promise.fail");
- out.writeLine("ok");
- promise.succeed();
- }
- );
-
- //
- // Now resolve the promise in the reverse order.
- //
- promise3.succeed(1024, 2048, 4096);
- promise2.succeed(1024, 2048);
- promise1.fail("promise.fail");
- }
- );
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Test finally on a succeed promise... ");
-
- var p = new Promise().succeed(1024);
- var called = false;
- p.finally(
- function(i)
- {
- called = true;
- test(i == 1024);
- return 1025;
- }
- ).then(
- function(i)
- {
- test(i == 1024);
- test(called);
- out.writeLine("ok");
- promise.succeed();
- }
- ).exception(
- function(ex)
- {
- promise.fail(ex);
- });
- }
- );
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Test finally on a failed promise... ");
-
- var p = new Promise().fail("promise.failed");
- var called = false;
- p.finally(
- function(e)
- {
- called = true;
- test(e == "promise.failed");
- return "foo";
- }
- ).then(
- function(i)
- {
- promise.fail(new Error());
- }
- ).exception(
- function(e)
- {
- test(called);
- test(e == "promise.failed");
- out.writeLine("ok");
- promise.succeed();
- });
- }
- );
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Test finally return a succeed promise... ");
-
- var p = new Promise().succeed(1024);
- var called = false;
- p.finally(
- function(e)
- {
- called = true;
- return new Promise().succeed(2048);
- }
- ).then(
- function(i)
- {
- test(called);
- test(i == 1024);
- out.writeLine("ok");
- promise.succeed();
- }
- ).exception(
- function(ex)
- {
- promise.fail(ex);
- });
- }
- );
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Test finally return a fail promise... ");
-
- var p = new Promise().succeed(1024);
- var called = false;
- p.finally(
- function(e)
- {
- called = true;
- return new Promise().fail(new Error("error"));
- }
- ).then(
- function(i)
- {
- test(called);
- test(i == 1024);
- out.writeLine("ok");
- promise.succeed();
- }
- ).exception(
- function(ex)
- {
- promise.fail(ex);
- });
- }
- );
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Test finally throw an exception... ");
-
- var p = new Promise().succeed(1024);
- var called = false;
- p.finally(
- function(e)
- {
- called = true;
- throw new Error("error");
- }
- ).then(
- function(i)
- {
- test(called);
- test(i == 1024);
- out.writeLine("ok");
- promise.succeed();
- }
- ).exception(
- function(ex)
- {
- promise.fail(ex);
- });
- }
- );
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Test Promise.try... ");
-
- Promise.try(
- function()
- {
- out.writeLine("ok");
- promise.succeed();
- }
- ).exception(
- function()
- {
- promise.fail(new Error("test failed"));
- }
- );
- }
- );
- })
- .then(
- function()
- {
- return deferred(
- function(promise)
- {
- out.write("Test promise delay... ");
-
- var p = new Promise();
-
- var start = Date.now();
- p = p.succeed(10).delay(500).then(
- function(i)
- {
- test(i == 10);
- test(Date.now() - start >= 450);
- test(Date.now() - start <= 900);
- }
- ).then(
- function()
- {
- start = Date.now();
- return Promise.delay(10, 500).then(
- function(i)
- {
- test(i == 10);
- test(Date.now() - start >= 450);
- test(Date.now() - start <= 900);
- });
- }
- ).then(
- function()
- {
- var f = new Promise();
- start = Date.now();
- return f.fail("failed").delay(500).then(
- function(i)
- {
- test(false);
- },
- function(ex)
- {
- test(ex == "failed");
- test(Date.now() - start >= 450);
- test(Date.now() - start <= 900);
- out.writeLine("ok");
- promise.succeed();
- });
- }
- ).exception(
- function(ex)
- {
- promise.fail(ex);
- });
- }
- );
- })
- .then(
- function(){
- p.succeed();
- },
- function(ex){
- p.fail(ex);
- }
- );
- return p;
- };
- exports.__test__ = run;
-}
-(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));