UNPKG

adfab-gulp-boilerplate

Version:

Adfab's boilerplate. Helps you kick-start a front-end project within minutes.

72 lines (63 loc) 3.16 kB
'use strict' var config = { tasks: { sass: { browsers: ['last 2 versions'] } } }; const assert = require('assert'); const fromString = require('./helpers/pipe'); const chai = require('chai'); const expect = chai.expect; const gulp = require('gulp'); const util = require('gulp-util'); util.env.boilerplate = { config }; chai.use(require('chai-fs')); const sassPipe = require('../pipe/sass'); describe('gulp sass', function() { describe('compiled sass', function() { it('generates correct css output, generates sourcemaps', function(done) { var input = '$color: red; body { background: $color; }' fromString(input, 'sass/style.scss', sassPipe).then(output => { var result = output.contents.toString() var fs = require('fs') fs.writeFile('test.css', result, function() { expect(result).to.equal('body {\n background: red; }\n\n/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGdCQUFnQixFQUFFIiwiZmlsZSI6InNhc3Mvc3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYm9keSB7XG4gIGJhY2tncm91bmQ6IHJlZDsgfVxuIl19 */\n') fs.unlink('test.css', function() { done(); }); }); }); }); it('adds prefixes', function(done) { var input = 'body { appearance: button; }' fromString(input, 'sass/style.scss', sassPipe).then(output => { var result = output.contents.toString() var fs = require('fs') fs.writeFile('test.css', result, function() { expect(result).to.equal('body {\n -webkit-appearance: button;\n -moz-appearance: button;\n appearance: button; }\n\n/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDJCQUFtQjtLQUFuQix3QkFBbUI7VUFBbkIsbUJBQW1CLEVBQUUiLCJmaWxlIjoic2Fzcy9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJib2R5IHtcbiAgYXBwZWFyYW5jZTogYnV0dG9uOyB9XG4iXX0= */\n') fs.unlink('test.css', function() { done(); }); }); }); }); it('minifies and remove sourcemaps in production mod', function(done) { var input = 'body { appearance: button; }' util.env.production = true fromString(input, 'sass/style.scss', sassPipe).then(output => { var result = output.contents.toString() var fs = require('fs') fs.writeFile('test.css', function() { expect(result).to.equal('body{-webkit-appearance:button;-moz-appearance:button;appearance:button}') fs.unlink('test.css', function() { done(); }); }); }); }); }); });