diff options
Diffstat (limited to 'deps/node/deps/npm/node_modules/copy-concurrently/node_modules/iferr/test/index.coffee')
-rw-r--r-- | deps/node/deps/npm/node_modules/copy-concurrently/node_modules/iferr/test/index.coffee | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/deps/node/deps/npm/node_modules/copy-concurrently/node_modules/iferr/test/index.coffee b/deps/node/deps/npm/node_modules/copy-concurrently/node_modules/iferr/test/index.coffee new file mode 100644 index 00000000..be0bc56f --- /dev/null +++ b/deps/node/deps/npm/node_modules/copy-concurrently/node_modules/iferr/test/index.coffee @@ -0,0 +1,42 @@ +{ iferr, tiferr, throwerr } = require '../index.coffee' +{ equal: eq, throws } = require 'assert' + +invoke_fail = (cb) -> cb new Error 'callback error' +invoke_succ = (cb) -> cb null +throw_error = -> throw new Error 'thrown' + +describe 'iferr', -> + it 'calls the error callback on errors', (done) -> + invoke_fail iferr( + (err) -> + eq err.message, 'callback error' + do done + -> + done new Error 'shouldn\'t call the success callback' + ) + + it 'calls the success callback on success', (done) -> + invoke_succ iferr( + -> done new Error 'shouldn\'t call the error callback' + done + ) + +describe 'tiferr', -> + it 'catches errors in the success callback', (done) -> + invoke_succ tiferr( + (err) -> + eq err.message, 'thrown' + do done + throw_error + ) + +describe 'throwerr', -> + it 'throws errors passed to the callback', (done)-> + try invoke_fail throwerr -> + done 'shouldn\'t call the success callback' + catch err + eq err.message, 'callback error' + do done + + it 'delegates to the success callback otherwise', (done) -> + invoke_succ throwerr done |