diff options
author | 杨宇千 <crupest@outlook.com> | 2019-04-13 15:47:40 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-13 15:47:40 +0800 |
commit | 56c51bdf844ce1e3642dcdc4099187e7e57008c7 (patch) | |
tree | 1aa37565aad734b604eb94ed3a62db2308f4b30d /Timeline/ClientApp/src/app/utilities/debounce-click.directive.spec.ts | |
parent | 19cae15eba2bcede41b818e1b8ab7fd5ac92eb05 (diff) | |
parent | 108ea333534445a8c76d4db632ebf21abf426c71 (diff) | |
download | timeline-56c51bdf844ce1e3642dcdc4099187e7e57008c7.tar.gz timeline-56c51bdf844ce1e3642dcdc4099187e7e57008c7.tar.bz2 timeline-56c51bdf844ce1e3642dcdc4099187e7e57008c7.zip |
Merge pull request #20 from crupest/separate
Separate front end and back end.
Diffstat (limited to 'Timeline/ClientApp/src/app/utilities/debounce-click.directive.spec.ts')
-rw-r--r-- | Timeline/ClientApp/src/app/utilities/debounce-click.directive.spec.ts | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/Timeline/ClientApp/src/app/utilities/debounce-click.directive.spec.ts b/Timeline/ClientApp/src/app/utilities/debounce-click.directive.spec.ts deleted file mode 100644 index 89f66b99..00000000 --- a/Timeline/ClientApp/src/app/utilities/debounce-click.directive.spec.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { Component, ViewChild } from '@angular/core'; -import { async, TestBed, ComponentFixture, fakeAsync, tick } from '@angular/core/testing'; -import { By } from '@angular/platform-browser'; - -import { DebounceClickDirective } from './debounce-click.directive'; - -interface TestComponent { - clickHandler: () => void; -} - -@Component({ - selector: 'app-default-test', - template: '<button (appDebounceClick)="clickHandler()"></button>' -}) -class DefaultDebounceTimeTestComponent { - - @ViewChild(DebounceClickDirective) directive!: DebounceClickDirective; - - clickHandler: () => void = () => { }; -} - -@Component({ - selector: 'app-default-test', - template: '<button (appDebounceClick)="clickHandler()" [appDebounceClickTime]="debounceTime"></button>' -}) -class CustomDebounceTimeTestComponent { - debounceTime: number | undefined; - - @ViewChild(DebounceClickDirective) directive!: DebounceClickDirective; - - clickHandler: () => void = () => { }; -} - - -describe('DebounceClickDirective', () => { - let counter: number; - - function initComponent(component: TestComponent) { - component.clickHandler = () => counter++; - } - - beforeEach(() => { - counter = 0; - }); - - describe('default debounce time', () => { - let component: DefaultDebounceTimeTestComponent; - let componentFixture: ComponentFixture<DefaultDebounceTimeTestComponent>; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [DebounceClickDirective, DefaultDebounceTimeTestComponent] - }).compileComponents(); - })); - - beforeEach(() => { - componentFixture = TestBed.createComponent(DefaultDebounceTimeTestComponent); - component = componentFixture.componentInstance; - initComponent(component); - }); - - it('should create an instance', () => { - componentFixture.detectChanges(); - expect(component.directive).toBeTruthy(); - }); - - it('should work well', fakeAsync(() => { - function click() { - (<HTMLButtonElement>componentFixture.debugElement.query(By.css('button')).nativeElement).dispatchEvent(new MouseEvent('click')); - } - componentFixture.detectChanges(); - expect(counter).toBe(0); - click(); - tick(300); - expect(counter).toBe(0); - click(); - tick(); - expect(counter).toBe(0); - tick(500); - expect(counter).toBe(1); - })); - }); - - - describe('custom debounce time', () => { - let component: CustomDebounceTimeTestComponent; - let componentFixture: ComponentFixture<CustomDebounceTimeTestComponent>; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [DebounceClickDirective, CustomDebounceTimeTestComponent] - }).compileComponents(); - })); - - beforeEach(() => { - componentFixture = TestBed.createComponent(CustomDebounceTimeTestComponent); - component = componentFixture.componentInstance; - initComponent(component); - component.debounceTime = 600; - }); - - it('should create an instance', () => { - componentFixture.detectChanges(); - expect(component.directive).toBeTruthy(); - }); - - it('should work well', fakeAsync(() => { - function click() { - (<HTMLButtonElement>componentFixture.debugElement.query(By.css('button')).nativeElement).dispatchEvent(new MouseEvent('click')); - } - componentFixture.detectChanges(); - expect(counter).toBe(0); - click(); - tick(300); - expect(counter).toBe(0); - click(); - tick(); - expect(counter).toBe(0); - tick(600); - expect(counter).toBe(1); - })); - }); -}); |