From: GoalSmashers Date: Mon, 28 Jan 2013 18:02:28 +0000 (+0100) Subject: Fixes #49 - removing empty selectors from media query. X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=fe86133704eb1d0ca41a8b62ea043473e7c0fb2b;p=clean-css.git Fixes #49 - removing empty selectors from media query. --- diff --git a/lib/clean.js b/lib/clean.js index e0a3e1de..0efcb9ba 100644 --- a/lib/clean.js +++ b/lib/clean.js @@ -273,9 +273,13 @@ var CleanCSS = { } }); - // empty elements - if (options.removeEmpty) - replace(/[^\}]+?\{\}/g, ''); + if (options.removeEmpty) { + // empty elements + replace(/[^\{\}]+\{\}/g, ''); + + // empty @media declarations + replace(/@media [^\{]+\{\}/g, ''); + } // remove universal selector when not needed (*#id, *.class etc) replace(/\*([\.#:\[])/g, '$1'); diff --git a/test/unit-test.js b/test/unit-test.js index edd77d6d..ea890201 100644 --- a/test/unit-test.js +++ b/test/unit-test.js @@ -644,6 +644,14 @@ vows.describe('clean-units').addBatch({ 'just a semicolon': [ 'div { ; }', '' + ], + 'inside @media': [ + "@media screen { .test {} } .test1 { color: green; }", + ".test1{color:green}" + ], + 'inside not empty @media': [ + "@media screen { .test {} .some { display:none } }", + "@media screen{.some{display:none}}" ] }, { removeEmpty: true }), 'skip empty elements': cssContext({