1 { iferr, tiferr, throwerr } = require '../index.coffee'
2 { equal: eq, throws } = require 'assert'
4 invoke_fail = (cb) -> cb new Error 'callback error'
5 invoke_succ = (cb) -> cb null
6 throw_error = -> throw new Error 'thrown'
9 it 'calls the error callback on errors', (done) ->
12 eq err.message, 'callback error'
15 done new Error 'shouldn\'t call the success callback'
18 it 'calls the success callback on success', (done) ->
20 -> done new Error 'shouldn\'t call the error callback'
25 it 'catches errors in the success callback', (done) ->
28 eq err.message, 'thrown'
33 describe 'throwerr', ->
34 it 'throws errors passed to the callback', (done)->
35 try invoke_fail throwerr ->
36 done 'shouldn\'t call the success callback'
38 eq err.message, 'callback error'
41 it 'delegates to the success callback otherwise', (done) ->
42 invoke_succ throwerr done