Support err as first argument for done callbacks in async tests
This commit is contained in:
parent
9b5afff52e
commit
fad8a7286b
2 changed files with 16 additions and 12 deletions
|
|
@ -87,7 +87,13 @@ module.exports = new function init(name) {
|
||||||
var timeout = 0, delay = 200, s = new Date
|
var timeout = 0, delay = 200, s = new Date
|
||||||
var isDone = false
|
var isDone = false
|
||||||
|
|
||||||
function done() {
|
function done(err) {
|
||||||
|
if (err) {
|
||||||
|
if (err.message) record(err.message, err)
|
||||||
|
else record(err)
|
||||||
|
subjects.pop()
|
||||||
|
next()
|
||||||
|
}
|
||||||
if (timeout !== undefined) {
|
if (timeout !== undefined) {
|
||||||
timeout = clearTimeout(timeout)
|
timeout = clearTimeout(timeout)
|
||||||
if (delay !== Infinity) record(null)
|
if (delay !== Infinity) record(null)
|
||||||
|
|
@ -114,9 +120,7 @@ module.exports = new function init(name) {
|
||||||
fn(done, function(t) {delay = t})
|
fn(done, function(t) {delay = t})
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
record(e.message, e)
|
done(e)
|
||||||
subjects.pop()
|
|
||||||
next()
|
|
||||||
}
|
}
|
||||||
if (timeout === 0) {
|
if (timeout === 0) {
|
||||||
startTimer()
|
startTimer()
|
||||||
|
|
@ -126,11 +130,7 @@ module.exports = new function init(name) {
|
||||||
var p = fn()
|
var p = fn()
|
||||||
if (p && p.then) {
|
if (p && p.then) {
|
||||||
startTimer()
|
startTimer()
|
||||||
p.then(done, e => {
|
p.then(function() { done() }, done)
|
||||||
record(e.message, e)
|
|
||||||
subjects.pop()
|
|
||||||
next()
|
|
||||||
})
|
|
||||||
} else {
|
} else {
|
||||||
nextTickish(next)
|
nextTickish(next)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -153,10 +153,14 @@ o.spec("ospec", function() {
|
||||||
var a = 0, b = 0
|
var a = 0, b = 0
|
||||||
|
|
||||||
function wrapPromise(fn) {
|
function wrapPromise(fn) {
|
||||||
return new Promise(resolve => {
|
return new Promise((resolve, reject) => {
|
||||||
callAsync(() => {
|
callAsync(() => {
|
||||||
fn()
|
try {
|
||||||
resolve()
|
fn()
|
||||||
|
resolve()
|
||||||
|
} catch(e) {
|
||||||
|
reject(e)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue