Updated main to coding standards

This commit is contained in:
Sam Richard 2015-03-24 05:53:01 -05:00
parent 47e6b7c772
commit a096e3cfb0

View file

@ -1,27 +1,31 @@
var should = require("should"); 'use strict';
var gutil = require("gulp-util");
var path = require("path"); var should = require('should');
var fs = require("fs"); var gutil = require('gulp-util');
var sass = require("../index"); var path = require('path');
var fs = require('fs');
var sass = require('../index');
var assert = require('assert'); var assert = require('assert');
function createVinyl(filename, contents) { var createVinyl = function createVinyl(filename, contents) {
var base = path.join(__dirname, "scss"); var base = path.join(__dirname, 'scss');
var filePath = path.join(base, filename); var filePath = path.join(base, filename);
return new gutil.File({ return new gutil.File({
cwd: __dirname, 'cwd': __dirname,
base: base, 'base': base,
path: filePath, 'path': filePath,
contents: contents || fs.readFileSync(filePath) 'contents': contents || fs.readFileSync(filePath)
}); });
} };
describe("gulp-sass", function() { describe('gulp-sass', function() {
it("should pass file when it isNull()", function(done) { it('should pass file when it isNull()', function(done) {
var stream = sass(); var stream = sass();
var emptyFile = { var emptyFile = {
isNull: function () { return true; } 'isNull': function () {
return true;
}
}; };
stream.on('data', function(data) { stream.on('data', function(data) {
data.should.equal(emptyFile); data.should.equal(emptyFile);
@ -33,8 +37,12 @@ describe("gulp-sass", function() {
it('should emit error when file isStream()', function (done) { it('should emit error when file isStream()', function (done) {
var stream = sass(); var stream = sass();
var streamFile = { var streamFile = {
isNull: function () { return false; }, 'isNull': function () {
isStream: function () { return true; } return false;
},
'isStream': function () {
return true;
}
}; };
stream.on('error', function(err) { stream.on('error', function(err) {
err.message.should.equal('Streaming not supported'); err.message.should.equal('Streaming not supported');
@ -43,10 +51,10 @@ describe("gulp-sass", function() {
stream.write(streamFile); stream.write(streamFile);
}); });
it("should compile a single sass file", function(done) { it('should compile a single sass file', function(done) {
var sassFile = createVinyl("mixins.scss"); var sassFile = createVinyl('mixins.scss');
var stream = sass(); var stream = sass();
stream.on("data", function(cssFile) { stream.on('data', function(cssFile) {
should.exist(cssFile); should.exist(cssFile);
should.exist(cssFile.path); should.exist(cssFile.path);
should.exist(cssFile.relative); should.exist(cssFile.relative);
@ -59,21 +67,21 @@ describe("gulp-sass", function() {
stream.write(sassFile); stream.write(sassFile);
}); });
it("should compile multiple sass files", function(done) { it('should compile multiple sass files', function(done) {
var files = [ var files = [
createVinyl('mixins.scss'), createVinyl('mixins.scss'),
createVinyl('variables.scss') createVinyl('variables.scss')
]; ];
var stream = sass(); var stream = sass();
var mustSee = files.length; var mustSee = files.length;
var expectedPath = 'expected/mixins.css';
stream.on("data", function(cssFile) { stream.on('data', function(cssFile) {
should.exist(cssFile); should.exist(cssFile);
should.exist(cssFile.path); should.exist(cssFile.path);
should.exist(cssFile.relative); should.exist(cssFile.relative);
should.exist(cssFile.contents); should.exist(cssFile.contents);
var expectedPath = 'expected/mixins.css'; if (cssFile.path.indexOf('variables') !== -1) {
if (cssFile.path.indexOf("variables") !== -1) {
expectedPath = 'expected/variables.css'; expectedPath = 'expected/variables.css';
} }
String(cssFile.contents).should.equal( String(cssFile.contents).should.equal(
@ -90,10 +98,10 @@ describe("gulp-sass", function() {
}); });
}); });
it("should compile files with partials in another folder", function(done) { it('should compile files with partials in another folder', function(done) {
var sassFile = createVinyl("inheritance.scss"); var sassFile = createVinyl('inheritance.scss');
var stream = sass(); var stream = sass();
stream.on("data", function(cssFile) { stream.on('data', function(cssFile) {
should.exist(cssFile); should.exist(cssFile);
should.exist(cssFile.path); should.exist(cssFile.path);
should.exist(cssFile.relative); should.exist(cssFile.relative);
@ -106,19 +114,19 @@ describe("gulp-sass", function() {
stream.write(sassFile); stream.write(sassFile);
}); });
it("should handle sass errors", function(done) { it('should handle sass errors', function(done) {
var errorFile = createVinyl("error.scss"); var errorFile = createVinyl('error.scss');
var stream = sass(); var stream = sass();
stream.on("error", function(err) { stream.on('error', function(err) {
err.message.indexOf('property "font" must be followed by a \':\'').should.equal(0); err.message.indexOf('property "font" must be followed by a \':\'').should.equal(0);
done(); done();
}); });
stream.write(errorFile); stream.write(errorFile);
}); });
it("should work with gulp-sourcemaps", function(done) { it('should work with gulp-sourcemaps', function(done) {
var sassFile = createVinyl("inheritance.scss"); var sassFile = createVinyl('inheritance.scss');
// Expected sources are relative to file.base // Expected sources are relative to file.base
var expectedSources = [ var expectedSources = [
@ -126,22 +134,23 @@ describe("gulp-sass", function() {
'inheritance.scss' 'inheritance.scss'
]; ];
var stream;
sassFile.sourceMap = '{' + sassFile.sourceMap = '{' +
'"version": 3,' + '"version": 3,' +
'"file": "scss/inheritance.scss",' + '"file": "scss/subdir/multilevelimport.scss",' +
'"names": [],' + '"names": [],' +
'"mappings": "",' + '"mappings": "",' +
'"sources": [ "scss/inheritance.scss" ],' + '"sources": [ "scss/subdir/multilevelimport.scss" ],' +
'"sourcesContent": [ "@import includes/cats;" ]' + '"sourcesContent": [ "@import ../inheritance;" ]' +
'}'; '}';
var stream = sass(); stream = sass();
stream.on("data", function(cssFile) { stream.on('data', function(cssFile) {
should.exist(cssFile.sourceMap); should.exist(cssFile.sourceMap);
assert.deepEqual(cssFile.sourceMap.sources, expectedSources); assert.deepEqual(cssFile.sourceMap.sources, expectedSources);
done(); done();
}); });
stream.write(sassFile); stream.write(sassFile);
}); });
}); });