Commit 087137e9 by Simon Wade

Stubbed out the calls to fs.writeFile() using sinon module

parent 475c88e8
......@@ -42,13 +42,14 @@
"optimist": "0.6.x",
"node-watch": "0.3.x",
"chalk": "~0.4.0",
"nan": "~0.8.0"
"nan": "~0.8.0",
"mocha": "1.18.x"
},
"devDependencies": {
"mocha": "1.18.x",
"jshint": "~2.4.4",
"coveralls": "~2.10.0",
"mocha-lcov-reporter": "0.0.1",
"jscoverage": "~0.3.8"
"jscoverage": "~0.3.8",
"sinon": "^1.9.1"
}
}
/* global afterEach */
/* global beforeEach, afterEach */
/*jshint multistr:true */
var sass = process.env.NODESASS_COVERAGE ? require('../sass-coverage') : require('../sass');
var assert = require('assert');
var path = require('path');
var fs = require('fs');
var sinon = require('sinon');
var badSampleFilename = 'sample.scss';
var sampleFilename = path.resolve(__dirname, 'sample.scss');
......@@ -192,22 +193,24 @@ describe("compile file", function() {
describe("render to file", function() {
var outFile = path.resolve(__dirname, 'out.css'),
files = [outFile, 'out.css.map', 'foo.css.map', 'sample.css.map'];
filesWritten;
afterEach(function() {
files.forEach(function(file) {
file = path.resolve(__dirname, file);
if (fs.existsSync(file)) {
fs.unlinkSync(file);
}
beforeEach(function() {
filesWritten = {};
sinon.stub(fs, 'writeFile', function(path, contents, cb) {
filesWritten[path] = contents;
cb();
});
});
afterEach(function() {
fs.writeFile.restore();
});
it("should compile with renderFile", function(done) {
sass.renderFile({
file: sampleFilename,
outFile: outFile,
success: function () {
var contents = fs.readFileSync(outFile);
var contents = filesWritten[outFile];
done(assert.equal(contents, expectedRender));
},
error: function (error) {
......@@ -237,8 +240,8 @@ describe("render to file", function() {
outFile: outFile,
sourceMap: true,
success: function (cssFile, sourceMapFile) {
var css = fs.readFileSync(cssFile).toString();
var map = fs.readFileSync(sourceMapFile).toString();
var css = filesWritten[cssFile];
var map = filesWritten[sourceMapFile];
var mapFileName = 'out.css.map';
assert.equal(path.basename(sourceMapFile), mapFileName);
assert.ok(css.indexOf('sourceMappingURL=' + mapFileName) !== -1);
......@@ -258,8 +261,8 @@ describe("render to file", function() {
outFile: outFile,
sourceMap: mapFileName,
success: function (cssFile, sourceMapFile) {
var css = fs.readFileSync(cssFile).toString();
var map = fs.readFileSync(sourceMapFile).toString();
var css = filesWritten[cssFile];
var map = filesWritten[sourceMapFile];
assert.equal(path.basename(sourceMapFile), mapFileName);
assert.ok(css.indexOf('sourceMappingURL=' + mapFileName) !== -1);
assert.ok(map.indexOf('sample.scss') !== -1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment