From 3075a845c6b07cb62a1d8f249edf23d475b6a089 Mon Sep 17 00:00:00 2001 From: Jean-Luc Geering Date: Mon, 21 Dec 2015 09:31:46 +0100 Subject: [PATCH] preserve the original error message --- index.js | 1 + test/main.js | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/index.js b/index.js index adb4c10..067e0a3 100644 --- a/index.js +++ b/index.js @@ -125,6 +125,7 @@ var gulpSass = function gulpSass(options, sync) { message += error.formatted; error.messageFormatted = message; + error.messageOriginal = error.message; error.message = gutil.colors.stripColor(message); return cb(new gutil.PluginError( diff --git a/test/main.js b/test/main.js index 14b6af6..e748776 100644 --- a/test/main.js +++ b/test/main.js @@ -153,6 +153,20 @@ describe('gulp-sass -- async compile', function() { stream.write(errorFile); }); + it('should preserve the original sass error message', function(done) { + var errorFile = createVinyl('error.scss'); + var stream = sass(); + + stream.on('error', function(err) { + // Error must include original error message + err.messageOriginal.indexOf('property "font" must be followed by a \':\'').should.not.equal(-1); + // Error must not format or change the original error message + err.messageOriginal.indexOf('on line 2').should.equal(-1); + done(); + }); + stream.write(errorFile); + }); + it('should compile a single sass file if the file name has been changed in the stream', function(done) { var sassFile = createVinyl('mixins.scss'); var stream;