65 lines
1.9 KiB
JavaScript
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();
|
|
}));
|
|
});
|
|
});
|
|
});
|