@charmander/test
Advanced tools
Comparing version 0.4.0-pre to 0.4.0-pre.1
'use strict'; | ||
const discard = () => undefined; | ||
const createBeforeExitListener = () => { | ||
let reject; | ||
const promise = new Promise((resolve_, reject_) => { | ||
reject = reject_; | ||
}); | ||
const beforeExit = () => { | ||
remove(); | ||
reject(new Error('Test promise will never resolve')); | ||
}; | ||
const remove = () => { | ||
process.removeListener('beforeExit', beforeExit); | ||
}; | ||
process.on('beforeExit', beforeExit); | ||
return { | ||
remove, | ||
promise, | ||
}; | ||
}; | ||
class TestItem { | ||
@@ -29,4 +51,16 @@ constructor(path, run) { | ||
return Promise.resolve(result) | ||
.then(discard); | ||
const beforeExitListener = createBeforeExitListener(); | ||
return Promise.race([ | ||
Promise.resolve(result).then( | ||
() => { | ||
beforeExitListener.remove(); | ||
}, | ||
error => { | ||
beforeExitListener.remove(); | ||
return Promise.reject(error); | ||
} | ||
), | ||
beforeExitListener.promise, | ||
]); | ||
} | ||
@@ -33,0 +67,0 @@ } |
{ | ||
"name": "@charmander/test", | ||
"version": "0.4.0-pre", | ||
"version": "0.4.0-pre.1", | ||
"description": "Basic test organization", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
8674
281
0