Commit b1dfa616 by Kevin Martensson

Fix tests on Windows

parent 173e8280
...@@ -3,17 +3,18 @@ var assert = require('assert'), ...@@ -3,17 +3,18 @@ var assert = require('assert'),
path = require('path'), path = require('path'),
read = fs.readFileSync, read = fs.readFileSync,
sass = require('../sass'), sass = require('../sass'),
fixture = path.join.bind(null, __dirname, 'fixtures'); fixture = path.join.bind(null, __dirname, 'fixtures'),
resolveFixture = path.resolve.bind(null, __dirname, 'fixtures');
describe('api (deprecated)', function() { describe('api (deprecated)', function() {
describe('.render(src, fn)', function() { describe('.render(src, fn)', function() {
it('should compile sass to css', function(done) { it('should compile sass to css', function(done) {
var src = read(fixture('simple/index.scss'), 'utf8'); var src = read(fixture('simple/index.scss'), 'utf8');
var expected = read(fixture('simple/expected.css'), 'utf8'); var expected = read(fixture('simple/expected.css'), 'utf8').trim();
sass.render(src, function(err, css) { sass.render(src, function(err, css) {
assert(!err); assert(!err);
assert.equal(css, expected); assert.equal(css.trim(), expected);
done(); done();
}); });
}); });
...@@ -29,9 +30,9 @@ describe('api (deprecated)', function() { ...@@ -29,9 +30,9 @@ describe('api (deprecated)', function() {
describe('.renderSync(src)', function() { describe('.renderSync(src)', function() {
it('should compile sass to css', function(done) { it('should compile sass to css', function(done) {
var src = read(fixture('simple/index.scss'), 'utf8'); var src = read(fixture('simple/index.scss'), 'utf8');
var expected = read(fixture('simple/expected.css'), 'utf8'); var expected = read(fixture('simple/expected.css'), 'utf8').trim();
assert.equal(sass.renderSync(src), expected); assert.equal(sass.renderSync(src).trim(), expected);
done(); done();
}); });
...@@ -49,12 +50,12 @@ describe('api', function() { ...@@ -49,12 +50,12 @@ describe('api', function() {
describe('.render(options)', function() { describe('.render(options)', function() {
it('should compile sass to css', function(done) { it('should compile sass to css', function(done) {
var src = read(fixture('simple/index.scss'), 'utf8'); var src = read(fixture('simple/index.scss'), 'utf8');
var expected = read(fixture('simple/expected.css'), 'utf8'); var expected = read(fixture('simple/expected.css'), 'utf8').trim();
sass.render({ sass.render({
data: src, data: src,
success: function(css) { success: function(css) {
assert.equal(css, expected); assert.equal(css.trim(), expected);
done(); done();
} }
}); });
...@@ -73,7 +74,7 @@ describe('api', function() { ...@@ -73,7 +74,7 @@ describe('api', function() {
it('should compile with include paths', function(done) { it('should compile with include paths', function(done) {
var src = read(fixture('include-path/index.scss'), 'utf8'); var src = read(fixture('include-path/index.scss'), 'utf8');
var expected = read(fixture('include-path/expected.css'), 'utf8'); var expected = read(fixture('include-path/expected.css'), 'utf8').trim();
sass.render({ sass.render({
data: src, data: src,
...@@ -82,24 +83,7 @@ describe('api', function() { ...@@ -82,24 +83,7 @@ describe('api', function() {
fixture('include-path/lib') fixture('include-path/lib')
], ],
success: function(css) { success: function(css) {
assert.equal(css, expected); assert.equal(css.trim(), expected);
done();
}
});
});
it('should compile with include paths', function(done) {
var src = read(fixture('include-path/index.scss'), 'utf8');
var expected = read(fixture('include-path/expected.css'), 'utf8');
sass.render({
data: src,
includePaths: [
fixture('include-path/functions'),
fixture('include-path/lib')
],
success: function(css) {
assert.equal(css, expected);
done(); done();
} }
}); });
...@@ -107,13 +91,13 @@ describe('api', function() { ...@@ -107,13 +91,13 @@ describe('api', function() {
it('should compile with image path', function(done) { it('should compile with image path', function(done) {
var src = read(fixture('image-path/index.scss'), 'utf8'); var src = read(fixture('image-path/index.scss'), 'utf8');
var expected = read(fixture('image-path/expected.css'), 'utf8'); var expected = read(fixture('image-path/expected.css'), 'utf8').trim();
sass.render({ sass.render({
data: src, data: src,
imagePath: '/path/to/images', imagePath: '/path/to/images',
success: function(css) { success: function(css) {
assert.equal(css, expected); assert.equal(css.trim(), expected);
done(); done();
} }
}); });
...@@ -134,13 +118,13 @@ describe('api', function() { ...@@ -134,13 +118,13 @@ describe('api', function() {
it('should render with --precision option', function(done) { it('should render with --precision option', function(done) {
var src = read(fixture('precision/index.scss'), 'utf8'); var src = read(fixture('precision/index.scss'), 'utf8');
var expected = read(fixture('precision/expected.css'), 'utf8'); var expected = read(fixture('precision/expected.css'), 'utf8').trim();
sass.render({ sass.render({
data: src, data: src,
precision: 10, precision: 10,
success: function(css) { success: function(css) {
assert.equal(css, expected); assert.equal(css.trim(), expected);
done(); done();
} }
}); });
...@@ -165,9 +149,9 @@ describe('api', function() { ...@@ -165,9 +149,9 @@ describe('api', function() {
describe('.renderSync(options)', function() { describe('.renderSync(options)', function() {
it('should compile with renderSync', function(done) { it('should compile with renderSync', function(done) {
var src = read(fixture('simple/index.scss'), 'utf8'); var src = read(fixture('simple/index.scss'), 'utf8');
var expected = read(fixture('simple/expected.css'), 'utf8'); var expected = read(fixture('simple/expected.css'), 'utf8').trim();
assert.equal(sass.renderSync({ data: src }), expected); assert.equal(sass.renderSync({ data: src }).trim(), expected);
done(); done();
}); });
...@@ -184,13 +168,13 @@ describe('api', function() { ...@@ -184,13 +168,13 @@ describe('api', function() {
it('should compile with renderFile', function(done) { it('should compile with renderFile', function(done) {
var src = read(fixture('simple/index.scss'), 'utf8'); var src = read(fixture('simple/index.scss'), 'utf8');
var dest = fixture('simple/build.css'); var dest = fixture('simple/build.css');
var expected = read(fixture('simple/expected.css'), 'utf8'); var expected = read(fixture('simple/expected.css'), 'utf8').trim();
sass.renderFile({ sass.renderFile({
data: src, data: src,
outFile: dest, outFile: dest,
success: function() { success: function() {
assert.equal(read(dest, 'utf8'), expected); assert.equal(read(dest, 'utf8').trim(), expected);
done(); done();
} }
}); });
...@@ -298,9 +282,9 @@ describe('api', function() { ...@@ -298,9 +282,9 @@ describe('api', function() {
}); });
it('should contain an array of all included files', function(done) { it('should contain an array of all included files', function(done) {
assert.equal(stats.includedFiles[0], fixture('include-files/bar.scss')); assert.equal(stats.includedFiles[0], resolveFixture('include-files/bar.scss'));
assert.equal(stats.includedFiles[1], fixture('include-files/foo.scss')); assert.equal(stats.includedFiles[1], resolveFixture('include-files/foo.scss'));
assert.equal(stats.includedFiles[2], fixture('include-files/index.scss')); assert.equal(stats.includedFiles[2], resolveFixture('include-files/index.scss'));
done(); done();
}); });
...@@ -309,7 +293,7 @@ describe('api', function() { ...@@ -309,7 +293,7 @@ describe('api', function() {
file: fixture('simple/index.scss'), file: fixture('simple/index.scss'),
stats: stats, stats: stats,
success: function () { success: function () {
assert.deepEqual(stats.includedFiles, [fixture('simple/index.scss')]); assert.deepEqual(stats.includedFiles, [resolveFixture('simple/index.scss')]);
done(); done();
} }
}); });
...@@ -368,14 +352,14 @@ describe('api', function() { ...@@ -368,14 +352,14 @@ describe('api', function() {
}); });
it('should contain the given entry file', function(done) { it('should contain the given entry file', function(done) {
assert.equal(stats.entry, fixture('include-files/index.scss')); assert.equal(stats.entry, resolveFixture('include-files/index.scss'));
done(); done();
}); });
it('should contain an array of all included files', function(done) { it('should contain an array of all included files', function(done) {
assert.equal(stats.includedFiles[0], fixture('include-files/bar.scss')); assert.equal(stats.includedFiles[0], resolveFixture('include-files/bar.scss'));
assert.equal(stats.includedFiles[1], fixture('include-files/foo.scss')); assert.equal(stats.includedFiles[1], resolveFixture('include-files/foo.scss'));
assert.equal(stats.includedFiles[2], fixture('include-files/index.scss')); assert.equal(stats.includedFiles[2], resolveFixture('include-files/index.scss'));
done(); done();
}); });
......
...@@ -2,7 +2,7 @@ var assert = require('assert'), ...@@ -2,7 +2,7 @@ var assert = require('assert'),
fs = require('fs'), fs = require('fs'),
path = require('path'), path = require('path'),
read = require('fs').readFileSync, read = require('fs').readFileSync,
spawn = require('child_process').spawn, spawn = require('cross-spawn'),
cli = path.join(__dirname, '..', 'bin', 'node-sass'), cli = path.join(__dirname, '..', 'bin', 'node-sass'),
fixture = path.join.bind(null, __dirname, 'fixtures'); fixture = path.join.bind(null, __dirname, 'fixtures');
......
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