@angular/platform-browser
Version:
Angular - library for using Angular in a web browser
1 lines • 5.3 kB
Source Map (JSON)
{"version":3,"file":"testing.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/testing/src/dom_test_component_renderer.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/platform-browser/testing/src/browser.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\nimport {TestComponentRenderer} from '@angular/core/testing';\n\n/**\n * A DOM based implementation of the TestComponentRenderer.\n */\n@Injectable()\nexport class DOMTestComponentRenderer extends TestComponentRenderer {\n constructor(@Inject(DOCUMENT) private _doc: any) {\n super();\n }\n\n override insertRootElement(rootElId: string, tagName = 'div') {\n this.removeAllRootElementsImpl();\n const rootElement = getDOM().getDefaultDocument().createElement(tagName);\n rootElement.setAttribute('id', rootElId);\n this._doc.body.appendChild(rootElement);\n }\n\n override removeAllRootElements() {\n // Check whether the `DOCUMENT` instance retrieved from DI contains\n // the necessary function to complete the cleanup. In tests that don't\n // interact with DOM, the `DOCUMENT` might be mocked and some functions\n // might be missing. For such tests, DOM cleanup is not required and\n // we skip the logic if there are missing functions.\n if (typeof this._doc.querySelectorAll === 'function') {\n this.removeAllRootElementsImpl();\n }\n }\n\n private removeAllRootElementsImpl() {\n const oldRoots = this._doc.querySelectorAll('[id^=root]');\n for (let i = 0; i < oldRoots.length; i++) {\n getDOM().remove(oldRoots[i]);\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\nimport {ɵprovideFakePlatformNavigation} from '@angular/common/testing';\nimport {APP_ID, createPlatformFactory, NgModule, StaticProvider, PlatformRef} from '@angular/core';\nimport {TestComponentRenderer} from '@angular/core/testing';\n// g3-only import {BrowserModule, platformBrowser} from '@angular/platform-browser';\nimport {BrowserModule, platformBrowser} from '../../index'; // 3p-only\nimport {DOMTestComponentRenderer} from './dom_test_component_renderer';\n\n/**\n * Platform for testing\n *\n * @publicApi\n */\nexport const platformBrowserTesting: (extraProviders?: StaticProvider[]) => PlatformRef =\n createPlatformFactory(platformBrowser, 'browserTesting');\n\n/**\n * NgModule for testing.\n *\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n providers: [\n {provide: APP_ID, useValue: 'a'},\n ɵprovideFakePlatformNavigation(),\n {provide: TestComponentRenderer, useClass: DOMTestComponentRenderer},\n ],\n})\nexport class BrowserTestingModule {}\n"],"names":["getDOM","ɵprovideFakePlatformNavigation"],"mappings":"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"}