X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=node_modules%2Fkew%2Ftest%2Fspread.js;fp=node_modules%2Fkew%2Ftest%2Fspread.js;h=c62269a6690d747db4210a4ffc89a2f53f99a829;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/node_modules/kew/test/spread.js b/node_modules/kew/test/spread.js new file mode 100644 index 000000000..c62269a66 --- /dev/null +++ b/node_modules/kew/test/spread.js @@ -0,0 +1,59 @@ +var Q = require('../kew') + +exports.testSpreadStatic = function (test) { + Q.spread([Q.resolve('a'), 'b'], function (a, b) { + test.equal('a', a) + test.equal('b', b) + test.done() + }) +} + +exports.testSpreadMethod = function (test) { + Q.resolve(true) + .then(function () { + return ['a', 'b'] + }) + .spread(function (a, b) { + test.equal('a', a) + test.equal('b', b) + test.done() + }) +} + +exports.testSpreadBoundMethod = function (test) { + Q.resolve(true) + .then(function () { + return [Q.resolve('a'), 'b'] + }) + .spreadBound(function (c, a, b) { + test.equal('scope', this.scope) + test.equal('c', c) + test.equal('a', a) + test.equal('b', b) + test.done() + }, {scope: 'scope'}, 'c') +} + +exports.testAllSynchronization1 = function (test) { + var order = [] + Q.resolve(true) + .then(function () { + var promiseA = Q.fcall(function () { + order.push('a') + }) + var promiseB = Q.fcall(function () { + order.push('b') + }) + + test.deepEqual([], order) + + var promiseAB = Q.all([promiseA, promiseB]) + test.deepEqual([], order) + + return [promiseA, promiseB] + }) + .then(function (results) { + test.deepEqual(['a', 'b'], order) + test.done() + }) +}