From 10a9fd5e15ad2013dc4bb6fb3a1e440d5bfa0eea Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Thu, 22 Sep 2022 00:18:38 -0700 Subject: [PATCH] Start of promise tests --- test/self-test.js | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/test/self-test.js b/test/self-test.js index db1888a..e7e5d2b 100644 --- a/test/self-test.js +++ b/test/self-test.js @@ -1944,8 +1944,8 @@ if (!localOnly) if (localOnly) { console.log('Running Local Tests'); - eventtests() - + eventtests(); + promisetest(); process.exit(); } @@ -2013,4 +2013,45 @@ function eventtests() res = (global.evresults.A_Res == 'A12122') ? 'OK' : 'FAILED'; console.log(' events are dispatched in correct order.........................................................[' + res + ']'); +} + +function promisetest() +{ + var promise = require('promise'); + + console.log(' Promise Tests'); + + var ret = new promise(promise.defaultInit); + var ret2 = new promise(promise.defaultInit); + var res = ''; + + ret.then(function () { res += '1'; }). + then(function () { res += '2'; }). + then(function () { res += '3'; }); + + ret.resolve(); + console.log(res); + + var ret = new promise(promise.defaultInit); + var res = ''; + + ret.then(function () { res += '1'; }). + then(function () { return (ret2); }). + then(function () { res += '3'; }); + + ret.resolve(); + console.log(res); + ret2.resolve(); + console.log(res); + + var ret = new promise(promise.defaultInit); + var res = ''; + + ret.then(function () { res += '1'; }). + then(function () { return (ret2); }). + then(function () { res += '3'; }).catch(function (){ res += 'E'; }); + + ret.resolve(); + ret2.reject('nope'); + console.log('X: ' + res); } \ No newline at end of file