diff --git a/src/components/button/button.spec.ts b/src/components/button/button.spec.ts index ea46e162b080..b33a33570d11 100644 --- a/src/components/button/button.spec.ts +++ b/src/components/button/button.spec.ts @@ -11,10 +11,11 @@ import { beforeEach, } from 'angular2/testing'; import {provide, Component} from 'angular2/core'; -import {DebugElement} from "angular2/core"; +import {DebugElement} from 'angular2/core'; +import {By} from 'angular2/platform/browser'; import {MdButton} from './button'; -import {AsyncTestFn} from "angular2/testing"; +import {AsyncTestFn, FunctionWithParamTokens} from "angular2/testing"; describe('MdButton', () => { @@ -23,23 +24,35 @@ describe('MdButton', () => { beforeEach(inject([TestComponentBuilder], (tcb: TestComponentBuilder) => { builder = tcb; })); describe('button[md-button]', () => { - it('should handle a click on the button', (done: () => void) => { + //it('should handle a click on the button', (done: () => void) => { + // return builder.createAsync(TestApp).then((fixture) => { + // let testComponent = fixture.debugElement.componentInstance; + // let buttonDebugElement = fixture.debugElement.query(By.css('button')); + // + // buttonDebugElement.nativeElement.click(); + // expect(testComponent.clickCount).toBe(1); + // done(); + // }); + //}); + + it('should handle a click on the button', testAsync(() => { return builder.createAsync(TestApp).then((fixture) => { + expect(1).toBe(2); let testComponent = fixture.debugElement.componentInstance; - let buttonDebugElement = getChildDebugElement(fixture.debugElement, 'button'); + let buttonDebugElement = fixture.debugElement.query(By.css('button')); buttonDebugElement.nativeElement.click(); expect(testComponent.clickCount).toBe(1); - done(); }); - }); + })); }); }); -/** Gets a child DebugElement by tag name. */ -function getChildDebugElement(parent: DebugElement, tagName: string): DebugElement { - return parent.query(debugEl => debugEl.nativeElement.tagName.toLowerCase() == tagName); + +/** Shortcut function to use instead of `injectAsync` for less boilerplate on each `it`. */ +function testAsync(fn: Function): FunctionWithParamTokens { + return injectAsync([], fn); } /** Test component that contains an MdButton. */