From 7d556325869a0ae085897a0c52ccd5eb2b227bb7 Mon Sep 17 00:00:00 2001 From: abarre Date: Sun, 25 Feb 2018 22:13:34 +0100 Subject: [PATCH] [#1001] Fix corrupted state of tokenizer - case of roundBracketLevel inferior to 0. --- lib/tokenizer/tokenize.js | 1 + test/fixtures/issue-1001-min.css | 2 ++ test/fixtures/issue-1001.css | 4 ++++ 3 files changed, 7 insertions(+) create mode 100644 test/fixtures/issue-1001-min.css create mode 100644 test/fixtures/issue-1001.css diff --git a/lib/tokenizer/tokenize.js b/lib/tokenizer/tokenize.js index 8ad55d592..2d34e4d6f 100644 --- a/lib/tokenizer/tokenize.js +++ b/lib/tokenizer/tokenize.js @@ -120,6 +120,7 @@ function intoTokens(source, externalContext, internalContext, isNested) { isCommentStart = !wasCommentEnd && level != Level.COMMENT && !isQuoted && character == Marker.ASTERISK && source[position.index - 1] == Marker.FORWARD_SLASH; isCommentEndMarker = !wasCommentStart && !isQuoted && character == Marker.FORWARD_SLASH && source[position.index - 1] == Marker.ASTERISK; isCommentEnd = level == Level.COMMENT && isCommentEndMarker; + roundBracketLevel = Math.max(roundBracketLevel, 0); metadata = buffer.length === 0 ? [position.line, position.column, position.source] : diff --git a/test/fixtures/issue-1001-min.css b/test/fixtures/issue-1001-min.css new file mode 100644 index 000000000..a412a4f27 --- /dev/null +++ b/test/fixtures/issue-1001-min.css @@ -0,0 +1,2 @@ +.a{background-image:url(test/fixtures/bg-buttonh.png)} +.e{background:url(/carte-bienvenue/bg2.jpg)} diff --git a/test/fixtures/issue-1001.css b/test/fixtures/issue-1001.css new file mode 100644 index 000000000..886591729 --- /dev/null +++ b/test/fixtures/issue-1001.css @@ -0,0 +1,4 @@ +.a{background-image:url('bg-buttonh.png'); } +'/imagerie/booking/common/bg-buttonh.png');} +.c{background:url(/carte-bienvenue/bg.jpg)} +.e{background:url(/carte-bienvenue/bg2.jpg)}