Files
hudozka/node_modules/gulp-minify-css/test/minify.js
T
2014-02-12 12:36:59 +04:00

65 lines
1.9 KiB
JavaScript

var gulp = require('gulp'),
expect = require('chai').expect,
minifyCSS = require('../'),
CleanCSS = require('clean-css'),
es = require('event-stream'),
Stream = require('stream'),
path = require('path'),
fs = require('fs');
require('mocha');
describe('gulp-minify-css minification', function() {
var opts = {
keepSpecialComments: 1,
keepBreaks: true
};
describe('with buffers', function() {
var filename = path.join(__dirname, './fixture/index.css');
it('should minify my files', function(done) {
gulp.src(filename)
.pipe(minifyCSS(opts))
.pipe(es.map(function(file){
var source = fs.readFileSync(filename),
expected = new CleanCSS(opts).minify(source.toString());
expect(expected).to.be.equal(file.contents.toString());
done();
}));
});
it('should return file.contents as a buffer', function(done) {
gulp.src(filename)
.pipe(minifyCSS())
.pipe(es.map(function(file) {
expect(file.contents).to.be.an.instanceof(Buffer);
done();
}));
});
});
describe('with streams', function() {
var filename = path.join(__dirname, './fixture/index.css');
it('should minify my files', function(done) {
gulp.src(filename, {buffer: false})
.pipe(minifyCSS(opts))
.pipe(es.map(function(file){
var source = fs.readFileSync(filename),
expected = new CleanCSS(opts).minify(source.toString());
file.contents.pipe(es.wait(function(err, data) {
expect(expected).to.be.equal(data);
done();
}));
}));
});
it('should return file.contents as a buffer', function(done) {
gulp.src(filename, {buffer: false})
.pipe(minifyCSS(opts))
.pipe(es.map(function(file) {
expect(file.contents).to.be.an.instanceof(Stream);
done();
}));
});
});
});