From 212b8483f7cd5a51b415d2cb5bf9a131a8b551ba Mon Sep 17 00:00:00 2001 From: Leevi Graham Date: Tue, 10 Jun 2014 18:39:51 +1000 Subject: [PATCH] Honour escaped @ symbols in classnames and ids Fixes: https://github.com/GoalSmashers/clean-css/issues/292 --- lib/selectors/tokenizer.js | 2 +- test/unit-test.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/selectors/tokenizer.js b/lib/selectors/tokenizer.js index 27997ae9..d6749461 100644 --- a/lib/selectors/tokenizer.js +++ b/lib/selectors/tokenizer.js @@ -1,7 +1,7 @@ module.exports = function Tokenizer(data, minifyContext) { var chunker = new Chunker(data, 128); var chunk = chunker.next(); - var flatBlock = /^@(font\-face|page|\-ms\-viewport|\-o\-viewport|viewport)/; + var flatBlock = /(^@(font\-face|page|\-ms\-viewport|\-o\-viewport|viewport)|\\@.+?)/; var whatsNext = function(context) { var cursor = context.cursor; diff --git a/test/unit-test.js b/test/unit-test.js index 873668d0..4e6f6a24 100644 --- a/test/unit-test.js +++ b/test/unit-test.js @@ -1942,5 +1942,7 @@ title']{display:block}", '@-ms-viewport': '@-ms-viewport{width:device-width}', '@-o-viewport': '@-o-viewport{width:device-width}', '@viewport': '@viewport{width:device-width}' - }) + }), + 'escaped @ symbol in class name': '.pad--all0\\@sm{padding:0}', + 'escaped @ symbol in id': '#id\\@sm{padding:0}' }).export(module); -- 2.34.1