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() {