You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							59 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							59 lines
						
					
					
						
							1.3 KiB
						
					
					
				
								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()
							 | 
						|
								      })
							 | 
						|
								}
							 | 
						|
								
							 |