Add test for globbed files

Resolves #282

Resolves #278
This commit is contained in:
Sam Richard 2015-07-15 11:00:56 -07:00
parent 2b0f446b9d
commit 2a4f945da9
4 changed files with 41 additions and 0 deletions

View file

@ -30,6 +30,7 @@
"devDependencies": { "devDependencies": {
"autoprefixer-core": "^5.1.11", "autoprefixer-core": "^5.1.11",
"eslint": "^0.17.1", "eslint": "^0.17.1",
"globule": "^0.2.0",
"gulp": "^3.8.11", "gulp": "^3.8.11",
"gulp-postcss": "^5.1.6", "gulp-postcss": "^5.1.6",
"gulp-sourcemaps": "^1.5.2", "gulp-sourcemaps": "^1.5.2",

View file

@ -10,6 +10,7 @@ var sourcemaps = require('gulp-sourcemaps');
var postcss = require('gulp-postcss'); var postcss = require('gulp-postcss');
var autoprefixer = require('autoprefixer-core'); var autoprefixer = require('autoprefixer-core');
var tap = require('gulp-tap'); var tap = require('gulp-tap');
var globule = require('globule');
var createVinyl = function createVinyl(filename, contents) { var createVinyl = function createVinyl(filename, contents) {
var base = path.join(__dirname, 'scss'); var base = path.join(__dirname, 'scss');
@ -415,6 +416,26 @@ describe('gulp-sass -- sync compile', function() {
.on('end', done); .on('end', done);
}); });
it('should work with gulp-sourcemaps and a globbed source', function(done) {
var files, filesContent, actualContent, expectedContent, globPath;
files = globule.find(path.join(__dirname, '/scss/globbed/**/*.scss'));
filesContent = {};
files.forEach(function(file) {
globPath = file.replace(path.join(__dirname, '/scss/globbed/'), '');
filesContent[globPath] = fs.readFileSync(file, 'utf8');
});
gulp.src(path.join(__dirname, '/scss/globbed/**/*.scss'))
.pipe(sourcemaps.init())
.pipe(sass.sync())
.pipe(tap(function(file) {
should.exist(file.sourceMap);
actualContent = file.sourceMap.sourcesContent[0];
expectedContent = filesContent[file.sourceMap.sources[0]];
actualContent.should.eql(expectedContent);
}))
.on('end', done);
});
it('should work with gulp-sourcemaps and autoprefixer with different file.base', function(done) { it('should work with gulp-sourcemaps and autoprefixer with different file.base', function(done) {
var expectedSources = [ var expectedSources = [
'includes/_cats.scss', 'includes/_cats.scss',

View file

@ -0,0 +1,15 @@
p {
border: 1px solid red;
}
small {
font: {
size: 72px;
}
}
h1 {
font: {
size: 8px;
}
}

View file

@ -0,0 +1,4 @@
h1, h2, h3, h4, h5 {
color: green;
font-weight: 800;
}