mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
fix(compiler): support one additional level of nesting in :host()
Previously we supported one level of nested parentheses inside of a `:host()` selector, e.g. `:host(:not(p))`. This caused a breakage in g3 when I migrated a selector from `:host:not(:has(p))` to `:host(:not(:has(p)))`. This change adds support for just one more level of nesting. It'd be nice to move everything to a real CSS parser (or even update it to count parentheses like I did with :host-context()), but I wasn't able to get that to work in ~20 minutes and I'm focusing on other things at the moment. This change punts the problem until somebody tries to use just one more level of nesting in a selector. Fixes #64830
This commit is contained in:
committed by
Jessica Janiuk
parent
cda013c60f
commit
444143758e
@@ -83,6 +83,9 @@ describe('ShadowCss, :host and :host-context', () => {
|
||||
expect(shim(':host(:not(p)):before {}', 'contenta', 'a-host')).toEqualCss(
|
||||
'[a-host]:not(p):before {}',
|
||||
);
|
||||
expect(shim(':host(:not(:has(p))) {}', 'contenta', 'a-host')).toEqualCss(
|
||||
'[a-host]:not(:has(p)) {}',
|
||||
);
|
||||
expect(shim(':host:not(:host.foo) {}', 'contenta', 'a-host')).toEqualCss(
|
||||
'[a-host]:not([a-host].foo) {}',
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user