| 123456789101112131415161718192021222324252627282930313233343536373839404142 | { iferr, tiferr, throwerr } = require '../index.coffee'{ equal: eq, throws } = require 'assert'invoke_fail = (cb) -> cb new Error 'callback error'invoke_succ = (cb) -> cb nullthrow_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
 |