Merge pull request #222 from Keats/filename
Add tests for sass+scss syntax
This commit is contained in:
commit
700ca8ddd9
2
test/expected/indent.css
Normal file
2
test/expected/indent.css
Normal file
|
@ -0,0 +1,2 @@
|
|||
body .div {
|
||||
color: blue; }
|
|
@ -1,6 +1,9 @@
|
|||
body {
|
||||
background: pink; }
|
||||
|
||||
footer {
|
||||
background: red; }
|
||||
|
||||
.error, .badError {
|
||||
border: #f00;
|
||||
background: #fdd; }
|
||||
|
|
54
test/main.js
54
test/main.js
|
@ -5,7 +5,6 @@ var gutil = require('gulp-util');
|
|||
var path = require('path');
|
||||
var fs = require('fs');
|
||||
var sass = require('../index');
|
||||
var assert = require('assert');
|
||||
|
||||
var createVinyl = function createVinyl(filename, contents) {
|
||||
var base = path.join(__dirname, 'scss');
|
||||
|
@ -131,6 +130,7 @@ describe('gulp-sass -- async compile', function() {
|
|||
// Expected sources are relative to file.base
|
||||
var expectedSources = [
|
||||
'includes/_cats.scss',
|
||||
'includes/_dogs.sass',
|
||||
'inheritance.scss'
|
||||
];
|
||||
|
||||
|
@ -148,11 +148,58 @@ describe('gulp-sass -- async compile', function() {
|
|||
stream = sass();
|
||||
stream.on('data', function(cssFile) {
|
||||
should.exist(cssFile.sourceMap);
|
||||
assert.deepEqual(cssFile.sourceMap.sources, expectedSources);
|
||||
cssFile.sourceMap.sources.should.eql(expectedSources);
|
||||
done();
|
||||
});
|
||||
stream.write(sassFile);
|
||||
});
|
||||
|
||||
it('should compile a single indented sass file', function(done) {
|
||||
var sassFile = createVinyl('indent.sass');
|
||||
var stream = sass();
|
||||
stream.on('data', function(cssFile) {
|
||||
should.exist(cssFile);
|
||||
should.exist(cssFile.path);
|
||||
should.exist(cssFile.relative);
|
||||
should.exist(cssFile.contents);
|
||||
String(cssFile.contents).should.equal(
|
||||
fs.readFileSync(path.join(__dirname, 'expected/indent.css'), 'utf8')
|
||||
);
|
||||
done();
|
||||
});
|
||||
stream.write(sassFile);
|
||||
});
|
||||
|
||||
it('should parse files in sass and scss', function(done) {
|
||||
var files = [
|
||||
createVinyl('mixins.scss'),
|
||||
createVinyl('indent.sass')
|
||||
];
|
||||
var stream = sass();
|
||||
var mustSee = files.length;
|
||||
var expectedPath = 'expected/mixins.css';
|
||||
|
||||
stream.on('data', function(cssFile) {
|
||||
should.exist(cssFile);
|
||||
should.exist(cssFile.path);
|
||||
should.exist(cssFile.relative);
|
||||
should.exist(cssFile.contents);
|
||||
if (cssFile.path.indexOf('indent') !== -1) {
|
||||
expectedPath = 'expected/indent.css';
|
||||
}
|
||||
String(cssFile.contents).should.equal(
|
||||
fs.readFileSync(path.join(__dirname, expectedPath), 'utf8')
|
||||
);
|
||||
mustSee--;
|
||||
if (mustSee <= 0) {
|
||||
done();
|
||||
}
|
||||
});
|
||||
|
||||
files.forEach(function (file) {
|
||||
stream.write(file);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('gulp-sass -- sync compile', function() {
|
||||
|
@ -267,6 +314,7 @@ describe('gulp-sass -- sync compile', function() {
|
|||
// Expected sources are relative to file.base
|
||||
var expectedSources = [
|
||||
'includes/_cats.scss',
|
||||
'includes/_dogs.sass',
|
||||
'inheritance.scss'
|
||||
];
|
||||
|
||||
|
@ -284,7 +332,7 @@ describe('gulp-sass -- sync compile', function() {
|
|||
stream = sass.sync();
|
||||
stream.on('data', function(cssFile) {
|
||||
should.exist(cssFile.sourceMap);
|
||||
assert.deepEqual(cssFile.sourceMap.sources, expectedSources);
|
||||
cssFile.sourceMap.sources.should.eql(expectedSources);
|
||||
done();
|
||||
});
|
||||
stream.write(sassFile);
|
||||
|
|
5
test/scss/includes/_dogs.sass
Normal file
5
test/scss/includes/_dogs.sass
Normal file
|
@ -0,0 +1,5 @@
|
|||
$blue: #3bbfce;
|
||||
$margin: 16px;
|
||||
|
||||
footer
|
||||
background: red;
|
4
test/scss/indent.sass
Normal file
4
test/scss/indent.sass
Normal file
|
@ -0,0 +1,4 @@
|
|||
$color: blue
|
||||
|
||||
body .div
|
||||
color: $color
|
|
@ -1,4 +1,5 @@
|
|||
@import "includes/cats";
|
||||
@import "includes/dogs";
|
||||
|
||||
.error {
|
||||
border: #f00;
|
||||
|
|
Loading…
Reference in a new issue