var animationNameRegex = /^(\-moz\-|\-o\-|\-webkit\-)?animation-name$/;
var animationRegex = /^(\-moz\-|\-o\-|\-webkit\-)?animation$/;
var keyframeRegex = /^@(\-moz\-|\-o\-|\-webkit\-)?keyframes /;
+var optionalMatchingQuotesRegex = /^(['"]?)(.*)\1$/;
+
+function removeQuotes(value) {
+ return value.replace(optionalMatchingQuotesRegex, '$2');
+}
function removeUnusedAtRules(tokens, context) {
removeUnusedAtRule(tokens, matchCounterStyle, markCounterStylesAsUsed, context);
property = token[2][i];
if (property[1][1] == 'font-family') {
- match = property[2][1].toLowerCase();
+ match = removeQuotes(property[2][1].toLowerCase());
atRules[match] = atRules[match] || [];
atRules[match].push(token);
break;
component = wrappedProperty.components[6];
for (j = 0, m = component.value.length; j < m; j++) {
- normalizedMatch = component.value[j][1].toLowerCase();
+ normalizedMatch = removeQuotes(component.value[j][1].toLowerCase());
if (normalizedMatch in atRules) {
delete atRules[normalizedMatch];
if (property[1][1] == 'font-family') {
for (j = 2, m = property.length; j < m; j++) {
- normalizedMatch = property[j][1].toLowerCase();
+ normalizedMatch = removeQuotes(property[j][1].toLowerCase());
if (normalizedMatch in atRules) {
delete atRules[normalizedMatch];
'@font-face{font-family:test}.block{font-family:test}',
'@font-face{font-family:test}.block{font-family:test}'
],
+ 'one used quoted declaration in font-family': [
+ '@font-face{font-family:"test test"}.block{font-family:"test test"}',
+ '@font-face{font-family:"test test"}.block{font-family:"test test"}'
+ ],
'one used declaration in font-family with different case': [
'@font-face{font-family:test}.block{font-family:Test}',
'@font-face{font-family:test}.block{font-family:Test}'
],
+ 'one used quoted declaration in font-family with different quotes': [
+ '@font-face{font-family:"test test"}.block{font-family:\'test test\'}',
+ '@font-face{font-family:"test test"}.block{font-family:\'test test\'}'
+ ],
'one used declaration in multi-valued font-family': [
'@font-face{font-family:test}.block{font-family:Arial,test,sans-serif}',
'@font-face{font-family:test}.block{font-family:Arial,test,sans-serif}'