diff --git a/packages/platform-browser/test/dom/shadow_dom_spec.ts b/packages/platform-browser/test/dom/shadow_dom_spec.ts index e04ebeae06c..01962d97901 100644 --- a/packages/platform-browser/test/dom/shadow_dom_spec.ts +++ b/packages/platform-browser/test/dom/shadow_dom_spec.ts @@ -8,7 +8,7 @@ import {Component, NgModule, ViewEncapsulation} from '@angular/core'; import {TestBed} from '@angular/core/testing'; -import {BrowserModule} from '../../index'; +import {BrowserModule, createApplication} from '../../index'; import {expect} from '@angular/private/testing/matchers'; import {isNode} from '@angular/private/testing'; @@ -23,6 +23,10 @@ describe('ShadowDOM Support', () => { TestBed.configureTestingModule({imports: [TestModule]}); }); + beforeEach(() => { + for (const node of Array.from(document.body.childNodes)) node.remove(); + }); + it('should attach and use a shadowRoot when ViewEncapsulation.ShadowDom is set', () => { const compEl = TestBed.createComponent(ShadowComponent).nativeElement; expect(compEl.shadowRoot!.textContent).toEqual('Hello World'); @@ -81,6 +85,153 @@ describe('ShadowDOM Support', () => { expect(articleContent.assignedSlot).toBe(articleSlot); expect(articleSubcontent.assignedSlot).toBe(articleSlot); }); + + it('should support bootstrapping under a shadow root', async () => { + @Component({ + selector: 'app-root', + template: '