Commit 087137e9 by Simon Wade

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

parent 475c88e8
...@@ -42,13 +42,14 @@ ...@@ -42,13 +42,14 @@
"optimist": "0.6.x", "optimist": "0.6.x",
"node-watch": "0.3.x", "node-watch": "0.3.x",
"chalk": "~0.4.0", "chalk": "~0.4.0",
"nan": "~0.8.0" "nan": "~0.8.0",
"mocha": "1.18.x"
}, },
"devDependencies": { "devDependencies": {
"mocha": "1.18.x",
"jshint": "~2.4.4", "jshint": "~2.4.4",
"coveralls": "~2.10.0", "coveralls": "~2.10.0",
"mocha-lcov-reporter": "0.0.1", "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 */ /*jshint multistr:true */
var sass = process.env.NODESASS_COVERAGE ? require('../sass-coverage') : require('../sass'); var sass = process.env.NODESASS_COVERAGE ? require('../sass-coverage') : require('../sass');
var assert = require('assert'); var assert = require('assert');
var path = require('path'); var path = require('path');
var fs = require('fs'); var fs = require('fs');
var sinon = require('sinon');
var badSampleFilename = 'sample.scss'; var badSampleFilename = 'sample.scss';
var sampleFilename = path.resolve(__dirname, 'sample.scss'); var sampleFilename = path.resolve(__dirname, 'sample.scss');
...@@ -192,22 +193,24 @@ describe("compile file", function() { ...@@ -192,22 +193,24 @@ describe("compile file", function() {
describe("render to file", function() { describe("render to file", function() {
var outFile = path.resolve(__dirname, 'out.css'), var outFile = path.resolve(__dirname, 'out.css'),
files = [outFile, 'out.css.map', 'foo.css.map', 'sample.css.map']; filesWritten;
afterEach(function() { beforeEach(function() {
files.forEach(function(file) { filesWritten = {};
file = path.resolve(__dirname, file); sinon.stub(fs, 'writeFile', function(path, contents, cb) {
if (fs.existsSync(file)) { filesWritten[path] = contents;
fs.unlinkSync(file); cb();
}
}); });
}); });
afterEach(function() {
fs.writeFile.restore();
});
it("should compile with renderFile", function(done) { it("should compile with renderFile", function(done) {
sass.renderFile({ sass.renderFile({
file: sampleFilename, file: sampleFilename,
outFile: outFile, outFile: outFile,
success: function () { success: function () {
var contents = fs.readFileSync(outFile); var contents = filesWritten[outFile];
done(assert.equal(contents, expectedRender)); done(assert.equal(contents, expectedRender));
}, },
error: function (error) { error: function (error) {
...@@ -237,8 +240,8 @@ describe("render to file", function() { ...@@ -237,8 +240,8 @@ describe("render to file", function() {
outFile: outFile, outFile: outFile,
sourceMap: true, sourceMap: true,
success: function (cssFile, sourceMapFile) { success: function (cssFile, sourceMapFile) {
var css = fs.readFileSync(cssFile).toString(); var css = filesWritten[cssFile];
var map = fs.readFileSync(sourceMapFile).toString(); var map = filesWritten[sourceMapFile];
var mapFileName = 'out.css.map'; var mapFileName = 'out.css.map';
assert.equal(path.basename(sourceMapFile), mapFileName); assert.equal(path.basename(sourceMapFile), mapFileName);
assert.ok(css.indexOf('sourceMappingURL=' + mapFileName) !== -1); assert.ok(css.indexOf('sourceMappingURL=' + mapFileName) !== -1);
...@@ -258,8 +261,8 @@ describe("render to file", function() { ...@@ -258,8 +261,8 @@ describe("render to file", function() {
outFile: outFile, outFile: outFile,
sourceMap: mapFileName, sourceMap: mapFileName,
success: function (cssFile, sourceMapFile) { success: function (cssFile, sourceMapFile) {
var css = fs.readFileSync(cssFile).toString(); var css = filesWritten[cssFile];
var map = fs.readFileSync(sourceMapFile).toString(); var map = filesWritten[sourceMapFile];
assert.equal(path.basename(sourceMapFile), mapFileName); assert.equal(path.basename(sourceMapFile), mapFileName);
assert.ok(css.indexOf('sourceMappingURL=' + mapFileName) !== -1); assert.ok(css.indexOf('sourceMappingURL=' + mapFileName) !== -1);
assert.ok(map.indexOf('sample.scss') !== -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