From bdb05ca910d85b5364e76985a453679ca1182580 Mon Sep 17 00:00:00 2001 From: Thomas Jaggi Date: Sat, 9 May 2015 12:12:13 +0200 Subject: [PATCH] Add test case with gulp-sourcemaps and autoprefixer --- index.js | 4 ++-- package.json | 5 +++++ test/main.js | 29 +++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index d546deb..d3706d0 100644 --- a/index.js +++ b/index.js @@ -73,8 +73,8 @@ var gulpSass = function gulpSass(options, sync) { sassFileSrc = file.path.split('/').pop(); // Replace the stdin with the original file name sassMap.sources[sassMap.sources.indexOf(sassMapFile)] = sassFileSrc; - // Replace the map file with the original file name - sassMap.file = sassFileSrc; + // Replace the map file with the original file name (but new extension) + sassMap.file = gutil.replaceExtension(sassFileSrc, '.css'); // Apply the map applySourceMap(file, sassMap); } diff --git a/package.json b/package.json index 57ef1f6..31916ef 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,12 @@ "vinyl-sourcemaps-apply": "~0.1.1" }, "devDependencies": { + "autoprefixer-core": "^5.1.11", "eslint": "^0.17.1", + "gulp": "^3.8.11", + "gulp-postcss": "^5.1.6", + "gulp-sourcemaps": "^1.5.2", + "gulp-tap": "^0.1.3", "mocha": "^2.2.1", "should": "^5.2.0" } diff --git a/test/main.js b/test/main.js index 8653000..b31536e 100644 --- a/test/main.js +++ b/test/main.js @@ -5,6 +5,11 @@ var gutil = require('gulp-util'); var path = require('path'); var fs = require('fs'); var sass = require('../index'); +var gulp = require('gulp'); +var sourcemaps = require('gulp-sourcemaps'); +var postcss = require('gulp-postcss'); +var autoprefixer = require('autoprefixer-core'); +var tap = require('gulp-tap'); var createVinyl = function createVinyl(filename, contents) { var base = path.join(__dirname, 'scss'); @@ -380,4 +385,28 @@ describe('gulp-sass -- sync compile', function() { }); stream.write(sassFile); }); + + it('should work with gulp-sourcemaps and autoprefixer', function(done) { + var expectedSources = [ + 'includes/_cats.scss', + 'includes/_dogs.sass', + 'inheritance.scss' + ]; + + gulp.src(path.join(__dirname, '/scss/inheritance.scss')) + .pipe(sourcemaps.init()) + .pipe(sass.sync()) + .pipe(tap(function(file) { + should.exist(file.sourceMap); + file.sourceMap.sources.should.eql(expectedSources); + })) + .pipe(postcss([autoprefixer()])) + .pipe(sourcemaps.write()) + .pipe(gulp.dest(path.join(__dirname, '/results/'))) + .pipe(tap(function(file) { + should.exist(file.sourceMap); + file.sourceMap.sources.should.eql(expectedSources); + })) + .on('end', done); + }); });