1 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
2 import { BoolDisplayComponent } from './bool.component';
3 import { Component } from '@angular/core';
4 import { ViewChild } from '@angular/core';
6 describe('BoolDisplayComponent', () => {
8 selector: `eg-host-component`,
9 template: `<eg-bool></eg-bool>`
11 class TestHostComponent {
12 @ViewChild(BoolDisplayComponent)
13 public boolDisplayComponent: BoolDisplayComponent;
16 let hostComponent: TestHostComponent;
17 let fixture: ComponentFixture<TestHostComponent>;
19 beforeEach(async(() => {
20 TestBed.configureTestingModule({
21 declarations: [ BoolDisplayComponent, TestHostComponent ],
27 fixture = TestBed.createComponent(TestHostComponent);
28 hostComponent = fixture.componentInstance;
29 fixture.detectChanges();
32 it('recognizes Javascript true', async() => {
33 hostComponent.boolDisplayComponent.value = true;
34 fixture.detectChanges();
35 expect(fixture.nativeElement.querySelector('span').innerText).toEqual('Yes');
37 it('recognizes Javascript false', async() => {
38 hostComponent.boolDisplayComponent.value = false;
39 fixture.detectChanges();
40 expect(fixture.nativeElement.querySelector('span').innerText).toEqual('No');
42 it('recognizes string "t"', async() => {
43 hostComponent.boolDisplayComponent.value = 't';
44 fixture.detectChanges();
45 expect(fixture.nativeElement.querySelector('span').innerText).toEqual('Yes');
47 it('recognizes string "f"', async() => {
48 hostComponent.boolDisplayComponent.value = 'f';
49 fixture.detectChanges();
50 expect(fixture.nativeElement.querySelector('span').innerText).toEqual('No');
52 it('recognizes ternary nul', async() => {
53 hostComponent.boolDisplayComponent.value = null;
54 hostComponent.boolDisplayComponent.ternary = true;
55 fixture.detectChanges();
56 expect(fixture.nativeElement.querySelector('span').innerText).toEqual('Unset');