From: Jakub Pawlowicz Date: Sun, 23 Nov 2014 10:31:28 +0000 (+0000) Subject: Fixes an issue with incorrect source maps inside property blocks. X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=8ace8f9969b90cd75ab212a90da55dbc560269a3;p=clean-css.git Fixes an issue with incorrect source maps inside property blocks. --- diff --git a/lib/utils/extractors.js b/lib/utils/extractors.js index 95759079..7ce9f070 100644 --- a/lib/utils/extractors.js +++ b/lib/utils/extractors.js @@ -77,7 +77,7 @@ var Extractors = { if (addSourceMap) token.metadata = SourceMaps.saveAndTrack(all.join(''), context, false); } else if (all.indexOf('\n') > -1) { - SourceMaps.track(all.join('\n'), context); + SourceMaps.track(all.join(''), context); } return { diff --git a/test/source-map-test.js b/test/source-map-test.js index 535f5bb9..d02dacf2 100644 --- a/test/source-map-test.js +++ b/test/source-map-test.js @@ -205,6 +205,67 @@ vows.describe('source-map') assert.deepEqual(mapping, minified.sourceMap._mappings[2]); } }, + 'keyframes': { + 'topic': new CleanCSS({ sourceMap: true }).minify('@-webkit-keyframes frames {\n 0% {\n border: 1px;\n }\n 100% {\n border: 3px;\n }\n}'), + 'should have 5 mappings': function(minified) { + assert.equal(5, minified.sourceMap._mappings.length); + }, + 'should have _@keframes_ mapping': function (minified) { + var mapping = { + generatedLine: 1, + generatedColumn: 1, + originalLine: 1, + originalColumn: 1, + source: '__stdin__.css', + name: '@-webkit-keyframes frames' + }; + assert.deepEqual(mapping, minified.sourceMap._mappings[0]); + }, + 'should have _0%_ mapping': function (minified) { + var mapping = { + generatedLine: 1, + generatedColumn: 27, + originalLine: 2, + originalColumn: 3, + source: '__stdin__.css', + name: '0%' + }; + assert.deepEqual(mapping, minified.sourceMap._mappings[1]); + }, + 'should have _border:1px_ mapping': function (minified) { + var mapping = { + generatedLine: 1, + generatedColumn: 30, + originalLine: 3, + originalColumn: 5, + source: '__stdin__.css', + name: 'border:1px' + }; + assert.deepEqual(mapping, minified.sourceMap._mappings[2]); + }, + 'should have _100%_ mapping': function (minified) { + var mapping = { + generatedLine: 1, + generatedColumn: 41, + originalLine: 5, + originalColumn: 3, + source: '__stdin__.css', + name: '100%' + }; + assert.deepEqual(mapping, minified.sourceMap._mappings[3]); + }, + 'should have _border:3px_ mapping': function (minified) { + var mapping = { + generatedLine: 1, + generatedColumn: 46, + originalLine: 6, + originalColumn: 5, + source: '__stdin__.css', + name: 'border:3px' + }; + assert.deepEqual(mapping, minified.sourceMap._mappings[4]); + } + } }) .addBatch({ 'input map as string': {