test case
There are two aspects to this ticket.
- :not() containing positional selectors do not account for other parts of a selector after the positional
- there is currently no mechanism for making sure
:not(:first, :even) and :not(:even, :first) return identical results.
The majority of positional selectors are fine and we already recommend using their corresponding jQuery methods instead to take advantage of QSA. Getting positional selectors to work perfectly is far down in the priority list, below performance, code-size, and the simplicity of default codepaths. However, I believe Richard and I can come up with a solution that doesn't sacrifice these priorities.