return filter.toLowerCase() + args + suffix;
})
replace(/(\s|:)0(px|em|ex|cm|mm|in|pt|pc|%)/g, '$1' + '0') // zero + unit to zero
- replace(/(border|border-top|border-right|border-bottom|border-left|outline|background):none/g, '$1:0') // none to 0
+ replace(/(border|border-top|border-right|border-bottom|border-left|outline):none/g, '$1:0') // none to 0
+ replace(/(background):none([;}])/g, '$1:0$2') // background:none to 0
replace(/0 0 0 0/g, '0') // multiple zeros into one
replace(/([: ,=\-])0\.(\d)/g, '$1.$2')
replace(/[^\}]+{(;)*}/g, '') // empty elements
'a{outline:0}'
],
'display:none not changed': 'a{display:none}',
+ 'longer background declaration not changed': 'html{background:none repeat scroll 0 0 white}',
'mixed zeros not changed': 'div{margin:0 0 1px 0}',
'mixed zeros not changed #2': 'div{padding:0 1px 0 0}'
}),