From: GoalSmashers Date: Fri, 1 Nov 2013 17:14:41 +0000 (+0100) Subject: Adds ignoring misplaced top level curly braces. X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=a14508088d3b868568d14dd1436bd6c0d8d4a3a4;p=clean-css.git Adds ignoring misplaced top level curly braces. --- diff --git a/lib/selectors/tokenizer.js b/lib/selectors/tokenizer.js index 160404f2..2737d2db 100644 --- a/lib/selectors/tokenizer.js +++ b/lib/selectors/tokenizer.js @@ -94,6 +94,12 @@ module.exports = function Tokenizer(data) { tokenized.push({ selector: selector, body: body }); } else if (what == 'bodyEnd') { + // extra closing brace at the top level can be safely ignored + if (context.mode == 'top' && data[context.cursor] == '}') { + context.cursor += 1; + continue; + } + if (context.mode != 'block') { tokenized = data.substring(context.cursor, nextSpecial); } diff --git a/test/unit-test.js b/test/unit-test.js index c85d78e8..ff105bae 100644 --- a/test/unit-test.js +++ b/test/unit-test.js @@ -1069,6 +1069,16 @@ title']{display:block}", 'duplicate selectors with disabled advanced processing': cssContext({ 'of a duplicate selector': 'a,a{color:red}' }, { noAdvanced: true }), + 'invalid data tokenization': cssContext({ + 'extra top-level closing brace': [ + 'a{color:red}}p{width:auto}', + 'a{color:red}p{width:auto}' + ], + 'extra top-level closing braces': [ + 'a{color:red}}}}p{width:auto}', + 'a{color:red}p{width:auto}' + ] + }), 'duplicate selectors in a list': cssContext({ 'of a duplicate selector': [ 'a,a{color:red}',