gulp-expect-file

Expect files in pipes for gulp.js

gulp-expect-file

Expectation on generated files for gulp 3/4

This plugin is intended for testing other gulp plugin.

Usage

First, install gulp-expect-fileas a development dependency:

npm install --save-dev gulp-expect-file

Then, add it to your gulpfile.js:

var expect = require("gulp-expect-file");

gulp.task("copy", function() {
  gulp
    .src(["src/foo.txt"])
    .pipe(gulp.dest("dest/"))
    .pipe(expect("dest/foo.txt"));
});

API

expect(expectation)

expectation

Type: String, Array, Objector Function

It describes the expectation of files on pipe.

expectationmeaning
"foo.txt"Expects foo.txton pipe
"*.txt"Expects any files matching glob *.txton pipe
["a.txt", "b.txt"]Expects a.txtand b.txtboth on pipe
{"a.txt": true, "b.txt": true}Expects a.txtand b.txtboth on pipe (same as above)
{"foo.txt": "text"}Expects foo.txtwith contents that has "text"as substring
{"foo.txt": /pattern/}Expects foo.txtwith contents that matches /pattern/
function (file) { ... }Call the tester function for each file on pipe
{"foo.txt": function (file) { ... }}Call the tester function for foo.txt

A tester function is called with vinyl File objectof target file.

It can return true, null, undefinedfor passing that file. false, Stringof error message, or any other value will fail testing on that file.

Sync version:

function (file) {
  return /\.txt$/.test(file.path);
}

Async version:

function (file, callback) {
  process.nextTick(function () {
    if (/\.txt$/.test(file.path)) {
      callback('not txt file');
    } else {
      callback();
    }
  });
}

expect(options, expectation)

options.reportUnexpected

Type: BooleanDefault: true

If true, files not matching any expectation will be reported as failure.

For example, if a.txtand b.txtare on the pipe, expect(['a.txt'])will report that b.txtis unexpected.

gulp.src(["a.txt", "b.txt"]).pipe(expect(["a.txt"]));

// => FAIL: b.txt unexpected

options.reportMissing

Type: BooleanDefault: true

If true, expected files that are not on the pipe will be reported as failure.

For example, if a.txtis on the pipe, expect(['a.txt', 'b.txt'])will report that b.txtis missing.

gulp.src(["a.txt"]).pipe(expect(["a.txt", "b.txt"]));

// => FAIL: Missing 1 expected files: b.txt

options.checkRealFile

Type: BooleanDefault: false

If true, it also checks if the real file exists on the file system by fs.exists().

gulp
  .src(["exist.txt", "nonexist.txt"])
  .pipe(expect({ checkRealFile: true }, "*.txt"));

// => FAIL: nonexist.txt not exists on filesystem

options.errorOnFailure

Type: BooleanDefault: false

If true, it emits errorevent when expectations got failed.

gulp
  .src(["a.txt"])
  .pipe(expect({ errorOnFailure: true }, ["b.txt"]))
  .on("error", function(err) {
    console.error(err);
  });

options.silent

Type: BooleanDefault: false

If true, it does not report any results.

options.verbose

Type: BooleanDefault: false

If true, it reports files that passed the expectation.

expect.real([options,] expectation)

This is just a shortcut for expect({ checkRealFile: true }, expectation).

HomePage

https://github.com/pioug/gulp-expect-file/

Repository

https://github.com/pioug/gulp-expect-file


上一篇:node-opcua-factory
下一篇:clockmaker

相关推荐

  • 详解微信小程序 wx.uploadFile 的编码坑

    编写微信小程序时,用到 wx.uploadFile,用来上传图片+文本信息.然而在编写过程中,由于官方的 demo 和文档描述很少,在几个坑上耗费了不少时间. 这里分享一个和编码有关的坑,主要是由于...

    3 年前
  • 解决react dva打包报错Unexpected token: operator (>)

    问题描述 近期在工作中,打包react项目时控制台报了以下错误: 问题解决 我先初步推断了一下问题: 表示不识别 符号 表示这个文件里面的第8行第0列出现的问题 我就找这个文件,...

    1 年前
  • 解决npm ERR! Unexpected end of JSON input while parsing near的方法汇总

    这两天执行 npm install 时会报错误: 这个错误的解决方法有以下几种: 1.删掉package.lock.json 2.清除cache 3.进入下面这个文件夹清除cache ...

    2 年前
  • 解决: 图片上传File对象不兼容IE

    最近做公司业务, 上传图片出问题了~ 首先是要求前端传递的图片名称不能是中文 ??? image.png(https://img.javascriptcn.com/5a5e9c0d107b25cd9...

    6 个月前
  • 节点和错误:emfile,打开的文件太多

    节点和错误:emfile,打开的文件太多...

    2 年前
  • 美化文件上传按钮自定义input file样式

    input file的样式不能直接用css来美化,我们可以曲线救国,把input file的透明度降低为0,相当于把这个控件隐藏了,实际上只是透明度为0,还是存在的,然后把div套上去,让div充当f...

    10 个月前
  • 简单谈谈gulp-changed插件

    前言 gulpchanged插件的作用,是用来过滤未被修改过的文件,只有修改后的文件才能通过管道。这样做的好处时,只处理修改后的文件,减少后续程序的执行时间。 根据官方给出的例子: 检测SR...

    3 年前
  • 用gulp构建一个简单常用的的原生环境

    gulp作为一个自动化构建工具,在前端开发中大大的提高了开发效率,前端开发者们可以利用他减少许多繁复无脑的操作。 这里简单构建一个小环境,就可以在以后的学习中,直接新建各种test.html测试我们新...

    2 年前
  • 用gulp实现传统的多页面自动化构建,一句命令行完成混淆压缩

    工作的项目,摄像头的设置页面,要求整站大小只能在100k作用,也就是说vue之类的框架,jquery库这些最好不要用,我们就用js原生语言写,并且每次写完要整站都要压缩混淆再上传,考虑到浏览器文件缓存...

    4 个月前
  • 用file标签实现多图文件上传预览

    js 代码: HTML代码: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持JavaScript中文网!...

    3 年前

官方社区

扫码加入 JavaScript 社区