Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gulp-expect-file

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gulp-expect-file

Expect files in pipes for gulp.js

  • 2.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

gulp-expect-file NPM version Build Status Dependency Status

Expectation on generated files for gulp 3/4

This plugin is intended for testing other gulp plugin.

Screen Shot

Usage

First, install gulp-expect-file as 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, Object or Function

It describes the expectation of files on pipe.

expectationmeaning
"foo.txt"Expects foo.txt on pipe
"*.txt"Expects any files matching glob *.txt on pipe
["a.txt", "b.txt"]Expects a.txt and b.txt both on pipe
{"a.txt": true, "b.txt": true}Expects a.txt and b.txt both on pipe (same as above)
{"foo.txt": "text"}Expects foo.txt with contents that has "text" as substring
{"foo.txt": /pattern/}Expects foo.txt with 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 object of target file.

It can return true, null, undefined for passing that file. false, String of 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: Boolean Default: true

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

For example, if a.txt and b.txt are on the pipe, expect(['a.txt']) will report that b.txt is unexpected.

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

// => FAIL: b.txt unexpected
options.reportMissing

Type: Boolean Default: true

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

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

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

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

Type: Boolean Default: 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: Boolean Default: false

If true, it emits error event when expectations got failed.

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

Type: Boolean Default: false

If true, it does not report any results.

options.verbose

Type: Boolean Default: false

If true, it reports files that passed the expectation.

expect.real([options,] expectation)

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

Keywords

FAQs

Package last updated on 22 May 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc