Simplify the hover replacement function (#1535)
Simplify the hover replacement function, which has been borrowed from postcss-pseudo-classes Note: 'parses nested commas in selectors correctly' was failing after this PR, however I don't think that the previous behaviour was desirable, so have added a new test to formalize this expectation
This commit is contained in:
@@ -50,10 +50,18 @@ describe('css parser', () => {
|
||||
describe('pseudoClassPlugin', () => {
|
||||
it('parses nested commas in selectors correctly', () => {
|
||||
const cssText =
|
||||
'body > ul :is(li:not(:first-of-type) a:hover, li:not(:first-of-type).active a) {background: red;}';
|
||||
'body > ul :is(li:not(:first-of-type) a.current, li:not(:first-of-type).active a) {background: red;}';
|
||||
expect(parse(pseudoClassPlugin, cssText)).toEqual(cssText);
|
||||
});
|
||||
|
||||
it("doesn't ignore :hover within :is brackets", () => {
|
||||
const cssText =
|
||||
'body > ul :is(li:not(:first-of-type) a:hover, li:not(:first-of-type).active a) {background: red;}';
|
||||
expect(parse(pseudoClassPlugin, cssText))
|
||||
.toEqual(`body > ul :is(li:not(:first-of-type) a:hover, li:not(:first-of-type).active a),
|
||||
body > ul :is(li:not(:first-of-type) a.\\:hover, li:not(:first-of-type).active a) {background: red;}`);
|
||||
});
|
||||
|
||||
it('should parse selector with comma nested inside ()', () => {
|
||||
const cssText =
|
||||
'[_nghost-ng-c4172599085]:not(.fit-content).aim-select:hover:not(:disabled, [_nghost-ng-c4172599085]:not(.fit-content).aim-select--disabled, [_nghost-ng-c4172599085]:not(.fit-content).aim-select--invalid, [_nghost-ng-c4172599085]:not(.fit-content).aim-select--active) { border-color: rgb(84, 84, 84); }';
|
||||
|
||||
Reference in New Issue
Block a user