mirror of https://github.com/lukechilds/node.git
Ryan Dahl
15 years ago
4 changed files with 0 additions and 306 deletions
@ -1,47 +0,0 @@ |
|||
process.mixin(require("./common")); |
|||
events = require('events'); |
|||
|
|||
var timeouts = 0; |
|||
|
|||
var promise = new events.Promise(); |
|||
promise.timeout(250); |
|||
assert.equal(250, promise.timeout()); |
|||
|
|||
promise.addCallback(function() { |
|||
assert.ok(false, 'addCallback should not fire after a promise error'); |
|||
}); |
|||
|
|||
promise.addErrback(function(e) { |
|||
assert.equal(true, e instanceof Error); |
|||
assert.equal('timeout', e.message); |
|||
timeouts++; |
|||
}); |
|||
|
|||
setTimeout(function() { |
|||
promise.emitSuccess('Am I too late?'); |
|||
}, 500); |
|||
|
|||
var successPromise = new events.Promise(); |
|||
successPromise.timeout(500); |
|||
setTimeout(function() { |
|||
successPromise.emitSuccess(); |
|||
}, 250); |
|||
|
|||
successPromise.addErrback(function() { |
|||
assert.ok(false, 'addErrback should not fire if there is no timeout'); |
|||
}); |
|||
|
|||
var errorPromise = new events.Promise(); |
|||
errorPromise.timeout(500); |
|||
setTimeout(function() { |
|||
errorPromise.emitError(new Error('intentional')); |
|||
}, 250); |
|||
|
|||
errorPromise.addErrback(function(e) { |
|||
assert.equal(true, e instanceof Error); |
|||
assert.equal('intentional', e.message); |
|||
}); |
|||
|
|||
process.addListener('exit', function() { |
|||
assert.equal(1, timeouts); |
|||
}); |
@ -1,79 +0,0 @@ |
|||
process.mixin(require('./common')); |
|||
var |
|||
Promise = require('events').Promise, |
|||
|
|||
TEST_VALUE = {some: 'object'}, |
|||
|
|||
expectedCallbacks = { |
|||
a1: 1, |
|||
a2: 1, |
|||
b1: 1, |
|||
b2: 1, |
|||
c1: 1, |
|||
d1: 1, |
|||
}; |
|||
|
|||
// Test regular & late callback binding
|
|||
var a = new Promise(); |
|||
a.addCallback(function(value) { |
|||
assert.equal(TEST_VALUE, value); |
|||
expectedCallbacks.a1--; |
|||
}); |
|||
a.addErrback(function(error) { |
|||
assert.notEqual(TEST_VALUE, error, 'normal'); |
|||
}); |
|||
a.emitSuccess(TEST_VALUE); |
|||
|
|||
assert.ok(a.addCallback(function(value) { |
|||
assert.equal(TEST_VALUE, value); |
|||
expectedCallbacks.a2--; |
|||
})); |
|||
assert.ok(a.addErrback(function(error) { |
|||
assert.notEqual(TEST_VALUE, error, 'late'); |
|||
})); |
|||
|
|||
// Test regular & late errback binding
|
|||
var b = new Promise(); |
|||
b.addErrback(function(value) { |
|||
assert.equal(TEST_VALUE, value); |
|||
expectedCallbacks.b1--; |
|||
}); |
|||
b.emitError(TEST_VALUE); |
|||
|
|||
b.addErrback(function(value) { |
|||
assert.equal(TEST_VALUE, value); |
|||
expectedCallbacks.b2--; |
|||
}); |
|||
|
|||
// Test late errback binding
|
|||
var c = new Promise(); |
|||
c.emitError(TEST_VALUE); |
|||
assert.ok(c.addErrback(function(value) { |
|||
assert.equal(TEST_VALUE, value); |
|||
expectedCallbacks.c1--; |
|||
})); |
|||
|
|||
// Test errback exceptions
|
|||
var d = new Promise(); |
|||
d.emitError(TEST_VALUE); |
|||
|
|||
process.addListener('uncaughtException', function(e) { |
|||
if (e.name === "AssertionError") { |
|||
throw e; |
|||
} |
|||
|
|||
expectedCallbacks.d1--; |
|||
assert.ok(e.message.match(/unhandled emitError/i)); |
|||
}); |
|||
|
|||
process.addListener('exit', function() { |
|||
for (var name in expectedCallbacks) { |
|||
var count = expectedCallbacks[name]; |
|||
|
|||
assert.equal( |
|||
0, |
|||
count, |
|||
'Callback '+name+' fire count off by: '+count |
|||
); |
|||
} |
|||
}); |
Loading…
Reference in new issue