|
|
- { 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
|