file system assertions for chai
npm install --save-dev chai-files
After importing chai
add the following code to use chai-files
assertions:
var chai = require('chai');
var chaiFiles = require('chai-files');
chai.use(chaiFiles);
var expect = chai.expect;
var file = chaiFiles.file;
var dir = chaiFiles.dir;
Check if a file or directory exist:
expect(file('index.js')).to.exist;
expect(file('index.coffee')).to.not.exist;
expect(dir('foo')).to.exist;
expect(dir('missing')).to.not.exist;
Check if the file content equals a string:
expect(file('foo.txt')).to.equal('foo');
expect(file('foo.txt')).to.not.equal('bar');
expect('foo').to.equal(file('foo.txt'));
expect('foo').to.not.equal(file('foo.txt'));
Check if the file equals another file:
expect(file('foo.txt')).to.equal(file('foo-copy.txt'));
expect(file('foo.txt')).to.not.equal(file('bar.txt'));
Check if a file or directory is empty:
expect(file('empty.txt')).to.be.empty;
expect(file('foo.txt')).to.not.be.empty;
expect(dir('empty')).to.be.empty;
expect(dir('foo')).to.not.be.empty;
Check if a file contains a string:
expect(file('foo.txt')).to.contain('foo');
expect(file('foo.txt')).to.not.contain('bar');
Check if a file matches a regular expression:
expect(file('foo.txt')).to.match(/fo+/);
expect(file('foo.txt')).to.not.match(/bar?/);
chai-files is licensed under the MIT License.