From 137b4d25b95f7ebf8bb84fa4cd631253736d7c20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20M=C3=A9tais?= Date: Wed, 8 Jul 2015 23:25:11 +0200 Subject: [PATCH] Fix css offenders parsing when containing line breaks --- lib/offendersHelpers.js | 3 +++ test/core/offendersHelpersTest.js | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/lib/offendersHelpers.js b/lib/offendersHelpers.js index 862e660..24fc5dc 100644 --- a/lib/offendersHelpers.js +++ b/lib/offendersHelpers.js @@ -151,6 +151,9 @@ var OffendersHelpers = function() { }; this.cssOffenderPattern = function(offender) { + // Remove any line breaks + offender = offender.replace(/(\r\n|\n|\r)/gm, ''); + var parts = /^(.*) (?:<([^ \(]*)>|\[inline CSS\]) @ (\d+):(\d+)$/.exec(offender); if (!parts) { diff --git a/test/core/offendersHelpersTest.js b/test/core/offendersHelpersTest.js index 3cbefaf..d2cc6fa 100644 --- a/test/core/offendersHelpersTest.js +++ b/test/core/offendersHelpersTest.js @@ -299,6 +299,17 @@ describe('offendersHelpers', function() { }); }); + it('should handle line breaks inside the string', function() { + var result = offendersHelpers.cssOffenderPattern('.card-mask-wrap { -moz-transform: translate3d(0, \n-288px\n, 0) } // was required by firefox 15 and earlier [inline CSS] @ 29:3'); + + result.should.deep.equal({ + css: '.card-mask-wrap { -moz-transform: translate3d(0, -288px, 0) } // was required by firefox 15 and earlier', + file: null, + line: 29, + column: 3 + }); + }); + }); describe('fileWithSizePattern', function() {