From: Brian Whitton Date: Fri, 22 Aug 2014 17:43:50 +0000 (-0400) Subject: simplifies transparency check to only look for zeroes in all parameters. fixes overea... X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=6aecc53db0b988ed522939442cff9df11ad0a29b;p=clean-css.git simplifies transparency check to only look for zeroes in all parameters. fixes overeager transparent keyword optimization --- diff --git a/lib/clean.js b/lib/clean.js index 704c2d8d..fd1aa38f 100644 --- a/lib/clean.js +++ b/lib/clean.js @@ -313,7 +313,7 @@ var minify = function(data, callback) { // transparent rgba/hsla to 'transparent' unless in compatibility mode if (!options.compatibility) { - replace(/:([^;]*)(?:rgba|hsla)\(\d+,\d+%?,\d+%?,0\)/g, function (match, prefix) { + replace(/:([^;]*)(?:rgba|hsla)\(0,0%?,0%?,0\)/g, function (match, prefix) { if (new Splitter(',').split(match).pop().indexOf('gradient(') > -1) return match; diff --git a/test/unit-test.js b/test/unit-test.js index 73b62c31..b77932d7 100644 --- a/test/unit-test.js +++ b/test/unit-test.js @@ -793,22 +793,29 @@ vows.describe('clean-units').addBatch({ 'a{color:rgba(0,0,0,0)}', 'a{color:transparent}' ], - 'turns rgba(0.0,0.0,.0,0) to transparent': [ - 'a{color:rgba(0.0,0.0,.0,0)}', + 'turns rgba(0.0,0.0,0.0,0) to transparent': [ + 'a{color:rgba(0.0,0.0,0.0,0)}', 'a{color:transparent}' ], - 'turns rgba(255,255,255,0) to transparent': [ - 'a{color:rgba(255,255,255,0)}', + 'turns hsla(0,0%,0%,0) to transparent': [ + 'a{color:hsla(0,0%,0%,0)}', 'a{color:transparent}' ], - 'turns rgba(255,0,255,0) to transparent': [ - 'a{color:rgba(255,0,255,0)}', + 'turns hsla(0,0,0,0) to transparent': [ + 'a{color:hsla(0,0,0,0)}', 'a{color:transparent}' ], - 'turns hsla(120,100%,50%,0) to transparent': [ - 'a{color:hsla(120,100%,50%,0)}', + 'turns hsla(0.0,0.0%,0.0%,0) to transparent': [ + 'a{color:hsla(0.0,0.0%,0.0%,0)}', 'a{color:transparent}' ], + 'turns hsla(0.0,0.0,0.0,0) to transparent': [ + 'a{color:hsla(0.0,0.0,0.0,0)}', + 'a{color:transparent}' + ], + 'keeps rgba(255,255,255,0)': 'a{color:rgba(255,255,255,0)}', + 'keeps rgba(255,0,255,0)': 'a{color:rgba(255,0,255,0)}', + 'keeps hsla(120,100%,50%,0)': 'a{color:hsla(120,100%,50%,0)}', 'keeps rgba(0,0,0,.5)': 'a{color:rgba(0,0,0,.5)}', 'keeps rgba(0,255,0,.5)': 'a{color:rgba(0,255,0,.5)}', 'keeps hsla(120,100%,50%,.5)': 'a{color:hsla(120,100%,50%,.5)}',