wishthis/node_modules/gulp-tap/tests/throws.test.coffee
2022-01-21 09:28:41 +01:00

35 lines
1 KiB
CoffeeScript

process.env['NODE_ENV'] = 'development'
fs = require 'fs'
path = require 'path'
gulp = require 'gulp'
tap = require '../'
tapTest = require 'tap'
# helper function to get a path relative to the root
getPath = (rel) -> path.resolve __dirname, '..', rel
identity = (x) -> x
tapTest.test "throw errors", (test) ->
test.plan 2
gulp.src getPath 'tests/fixtures/' + 'js.js'
.pipe tap (file, t) ->
test.throws t.through.bind(null, gulp.dest, "wrong"), new TypeError("Args must be an array to `apply` to the filter")
gulp.src getPath 'tests/fixtures/' + 'js.js'
.pipe tap (file, t) ->
test.throws t.through.bind(null, identity, ["right"]), {}, "should throw if supplied function doesn't return a stream'"
### Giving up due to lack of knowledge about vinyl-fs streams - I don't know how to get them to emit an error
tapTest.test "emit errors from stream errors", (test) ->
test.plan 1
gulp.src getPath 'tests/fixtures/' + 'js.js'
.pipe tap (file, t) ->
test.doesNotThrow t.through.bind(null, gulp.src, ['non-existing.txt'])###