
`innerText` is not supported in Firefox prior to v45. In most cases (at least the ones we are interested in), `innerText` and `textContent` work equally well, but `textContent` is more performant (as it doesn't require a reflow). From [MDN][1] on the differences of `innerText` vs `textContent`: > - [...] > - `innerText` is aware of style and will not return the text of hidden > elements, whereas `textContent` will. > - As `innerText` is aware of CSS styling, it will trigger a reflow, whereas > `textContent` will not. > - [...] [1]: https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent#Differences_from_innerText Fixes #17585
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
import { LocationService } from 'app/shared/location.service';
|
|
import { MockLocationService } from 'testing/location.service';
|
|
import { CurrentLocationComponent } from './current-location.component';
|
|
|
|
|
|
describe('CurrentLocationComponent', () => {
|
|
let element: HTMLElement;
|
|
let fixture: ComponentFixture<CurrentLocationComponent>;
|
|
let locationService: MockLocationService;
|
|
|
|
beforeEach(() => {
|
|
locationService = new MockLocationService('initial/url');
|
|
|
|
TestBed.configureTestingModule({
|
|
declarations: [ CurrentLocationComponent ],
|
|
providers: [
|
|
{ provide: LocationService, useValue: locationService }
|
|
]
|
|
});
|
|
|
|
fixture = TestBed.createComponent(CurrentLocationComponent);
|
|
element = fixture.nativeElement;
|
|
});
|
|
|
|
it('should render the current location', () => {
|
|
fixture.detectChanges();
|
|
expect(element.textContent).toEqual('initial/url');
|
|
|
|
locationService.urlSubject.next('next/url');
|
|
|
|
fixture.detectChanges();
|
|
expect(element.textContent).toEqual('next/url');
|
|
});
|
|
});
|