return s1[0] > s2[0] ? 1 : -1;
}
+function whitespaceReplacements(_, p1, p2, p3) {
+ if (p1 && p2 && p3.length)
+ return p1 + p2 + ' ';
+ else if (p1 && p2)
+ return p1 + p2;
+ else
+ return p2;
+}
+
var CleanUp = {
selectors: function (selectors, removeUnsupported, adjacentSpace) {
var list = [];
var reduced = selector[0]
.replace(/\s+/g, ' ')
.replace(/ ?, ?/g, ',')
- .replace(/\s*([>\+\~])\s*/g, '$1')
+ .replace(/\s*(\\)?([>+~])(\s*)/g, whitespaceReplacements)
.trim();
if (adjacentSpace && reduced.indexOf('nav') > 0)
'mixed': [
' label ~ \n* + span , div>*.class, section\n\n{color:red}',
[['div>.class'], ['label~*+span'], ['section']]
+ ],
+ 'escaped joining character #1': [
+ '.class\\~ div{color: red}',
+ [['.class\\~ div']]
+ ],
+ 'escaped joining character #2': [
+ '.class\\+\\+ div{color: red}',
+ [['.class\\+\\+ div']]
+ ],
+ 'escaped joining character #3': [
+ '.class\\> \\~div{color: red}',
+ [['.class\\> \\~div']]
+ ],
+ 'escaped characters': [
+ '.a\\+\\+b{color: red}',
+ [['.a\\+\\+b']]
]
})
)