refactor(core): remove misc dom utils from DomAdapters (#32278)

PR Close #32278
This commit is contained in:
Kara Erickson
2019-08-22 19:48:08 -07:00
committed by atscott
parent 28c8b03797
commit cf4b944865
17 changed files with 59 additions and 56 deletions

View File

@ -15,7 +15,7 @@ import {ComponentRef} from '@angular/core/src/linker/component_factory';
import {getLocaleId} from '@angular/core/src/render3';
import {BrowserModule} from '@angular/platform-browser';
import {getDOM} from '@angular/platform-browser/src/dom/dom_adapter';
import {dispatchEvent} from '@angular/platform-browser/testing/src/browser_util';
import {dispatchEvent, getContent} from '@angular/platform-browser/testing/src/browser_util';
import {expect} from '@angular/platform-browser/testing/src/matchers';
import {onlyInIvy} from '@angular/private/testing';
@ -35,7 +35,7 @@ class SomeComponent {
function createRootEl(selector = 'bootstrap-app') {
const doc = TestBed.get(DOCUMENT);
const rootEl = <HTMLElement>getDOM().firstChild(
getDOM().content(getDOM().createTemplate(`<${selector}></${selector}>`)));
getContent(getDOM().createTemplate(`<${selector}></${selector}>`)));
const oldRoots = getDOM().querySelectorAll(doc, selector);
for (let i = 0; i < oldRoots.length; i++) {
getDOM().remove(oldRoots[i]);

View File

@ -8,7 +8,7 @@
import {beforeEach, describe, expect, it} from '@angular/core/testing/src/testing_internal';
import {getDOM} from '@angular/platform-browser/src/dom/dom_adapter';
import {el, stringifyElement} from '@angular/platform-browser/testing/src/browser_util';
import {el, isTextNode, stringifyElement} from '@angular/platform-browser/testing/src/browser_util';
{
describe('dom adapter', () => {
@ -41,17 +41,16 @@ import {el, stringifyElement} from '@angular/platform-browser/testing/src/browse
const secondChild = cNodes[1];
expect(getDOM().parentElement(firstChild)).toBe(clone);
expect(getDOM().nextSibling(firstChild)).toBe(secondChild);
expect(getDOM().isTextNode(firstChild)).toBe(true);
expect(isTextNode(firstChild)).toBe(true);
expect(getDOM().parentElement(secondChild)).toBe(clone);
expect(getDOM().nextSibling(secondChild)).toBeFalsy();
expect(getDOM().isElementNode(secondChild)).toBe(true);
});
it('should be able to create text nodes and use them with the other APIs', () => {
const t = getDOM().createTextNode('hello');
expect(getDOM().isTextNode(t)).toBe(true);
expect(isTextNode(t)).toBe(true);
const d = getDOM().createElement('div');
getDOM().appendChild(d, t);
expect(d.innerHTML).toEqual('hello');

View File

@ -11,7 +11,7 @@ import {MockResourceLoader} from '@angular/compiler/testing';
import {AfterContentChecked, AfterContentInit, AfterViewChecked, AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, DebugElement, Directive, DoCheck, EventEmitter, HostBinding, Inject, Injectable, Input, OnChanges, OnDestroy, OnInit, Output, Pipe, PipeTransform, Provider, RenderComponentType, Renderer, RendererFactory2, RendererType2, RootRenderer, SimpleChange, SimpleChanges, TemplateRef, Type, ViewChild, ViewContainerRef, WrappedValue} from '@angular/core';
import {ComponentFixture, TestBed, fakeAsync} from '@angular/core/testing';
import {By} from '@angular/platform-browser/src/dom/debug/by';
import {getDOM} from '@angular/platform-browser/src/dom/dom_adapter';
import {isTextNode} from '@angular/platform-browser/testing/src/browser_util';
import {expect} from '@angular/platform-browser/testing/src/matchers';
import {ivyEnabled, modifiedInIvy, onlyInIvy} from '@angular/private/testing';
@ -1731,7 +1731,7 @@ function patchLoggingRenderer2(rendererFactory: RendererFactory2, log: RenderLog
origSetProperty.call(renderer, el, name, value);
};
renderer.setValue = function(node: any, value: string): void {
if (getDOM().isTextNode(node)) {
if (isTextNode(node)) {
log.setText(node, value);
}
origSetValue.call(renderer, node, value);

View File

@ -137,8 +137,7 @@ function declareTests(config?: {useJit: boolean}) {
fixture.componentInstance.ctxProp = null !;
fixture.detectChanges();
expect(getDOM().hasAttribute(fixture.debugElement.children[0].nativeElement, 'foo'))
.toBeFalsy();
expect(fixture.debugElement.children[0].nativeElement.hasAttribute('foo')).toBeFalsy();
});
it('should remove style when when style expression evaluates to null', () => {

View File

@ -60,7 +60,7 @@ function declareTests(config?: {useJit: boolean}) {
const children = getDOM().childNodes(el);
expect(children.length).toBe(2);
expect(isCommentNode(children[0])).toBe(true);
expect(getDOM().tagName(children[1]).toUpperCase()).toEqual('P');
expect((children[1] as Element).tagName.toUpperCase()).toEqual('P');
});
modifiedInIvy('FW-678: ivy generates different DOM structure for <ng-container>')
@ -99,8 +99,8 @@ function declareTests(config?: {useJit: boolean}) {
expect(isCommentNode(children[0])).toBe(true);
// ng-container anchor
expect(isCommentNode(children[1])).toBe(true);
expect(getDOM().tagName(children[2]).toUpperCase()).toEqual('P');
expect(getDOM().tagName(children[3]).toUpperCase()).toEqual('B');
expect((children[2] as Element).tagName.toUpperCase()).toEqual('P');
expect((children[3] as Element).tagName.toUpperCase()).toEqual('B');
fixture.componentInstance.ctxBoolProp = false;
fixture.detectChanges();

View File

@ -980,7 +980,7 @@ class Tree {
class CmpD {
tagName: string;
constructor(elementRef: ElementRef) {
this.tagName = getDOM().tagName(elementRef.nativeElement).toLowerCase();
this.tagName = elementRef.nativeElement.tagName.toLowerCase();
}
}
@ -989,7 +989,7 @@ class CmpD {
class CmpC {
tagName: string;
constructor(elementRef: ElementRef) {
this.tagName = getDOM().tagName(elementRef.nativeElement).toLowerCase();
this.tagName = elementRef.nativeElement.tagName.toLowerCase();
}
}

View File

@ -418,7 +418,7 @@ function declareTests(config?: {useJit: boolean}) {
const compRef =
modRef.componentFactoryResolver.resolveComponentFactory(App).create(Injector.NULL);
expect(getDOM().hasAttribute(compRef.location.nativeElement, 'ng-version')).toBe(false);
expect(compRef.location.nativeElement.hasAttribute('ng-version')).toBe(false);
});
});
}

View File

@ -122,7 +122,7 @@ function declareTests(config?: {useJit: boolean}) {
const div = cmp.debugElement.children[0];
expect(div.injector.get(OnPrefixDir).onclick).toBe(value);
expect(getDOM().getProperty(div.nativeElement, 'onclick')).not.toBe(value);
expect(getDOM().hasAttribute(div.nativeElement, 'onclick')).toEqual(false);
expect(div.nativeElement.hasAttribute('onclick')).toEqual(false);
});
});

View File

@ -12,8 +12,8 @@ import {NgZone, RendererFactory2, RendererType2} from '@angular/core';
import {NoopNgZone} from '@angular/core/src/zone/ng_zone';
import {EventManager, ɵDomRendererFactory2, ɵDomSharedStylesHost} from '@angular/platform-browser';
import {ɵAnimationRendererFactory} from '@angular/platform-browser/animations';
import {getDOM} from '@angular/platform-browser/src/dom/dom_adapter';
import {EventManagerPlugin} from '@angular/platform-browser/src/dom/events/event_manager';
import {isTextNode} from '@angular/platform-browser/testing/src/browser_util';
export class SimpleDomEventsPlugin extends EventManagerPlugin {
constructor(doc: any) { super(doc); }
@ -99,7 +99,7 @@ export function patchLoggingRenderer2(rendererFactory: RendererFactory2, log: Re
origSetProperty.call(renderer, el, name, value);
};
renderer.setValue = function(node: any, value: string): void {
if (getDOM().isTextNode(node)) {
if (isTextNode(node)) {
log.setText(node, value);
}
origSetValue.call(renderer, node, value);