35 lines
1 KiB
CoffeeScript
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'])###
|