angular/packages/compiler/test/shadow_css/ng_deep_spec.ts

35 lines
1.1 KiB
TypeScript
Raw Normal View History

/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
import {shim} from './utils';
describe('ShadowCss, ng-deep', () => {
it('should handle /deep/', () => {
const css = shim('x /deep/ y {}', 'contenta');
expect(css).toEqualCss('x[contenta] y {}');
});
it('should handle >>>', () => {
const css = shim('x >>> y {}', 'contenta');
expect(css).toEqualCss('x[contenta] y {}');
});
it('should handle ::ng-deep', () => {
let css = '::ng-deep y {}';
expect(shim(css, 'contenta')).toEqualCss('y {}');
css = 'x ::ng-deep y {}';
expect(shim(css, 'contenta')).toEqualCss('x[contenta] y {}');
css = ':host > ::ng-deep .x {}';
expect(shim(css, 'contenta', 'h')).toEqualCss('[h] > .x {}');
css = ':host ::ng-deep > .x {}';
expect(shim(css, 'contenta', 'h')).toEqualCss('[h] > .x {}');
css = ':host > ::ng-deep > .x {}';
expect(shim(css, 'contenta', 'h')).toEqualCss('[h] > > .x {}');
});
});