diff --git a/src/components/progress-circle/progress-circle.spec.ts b/src/components/progress-circle/progress-circle.spec.ts
index 63ccf546b817..dbbf6baa31f9 100644
--- a/src/components/progress-circle/progress-circle.spec.ts
+++ b/src/components/progress-circle/progress-circle.spec.ts
@@ -1,132 +1,101 @@
-import {inject, TestComponentBuilder, TestBed, async} from '@angular/core/testing';
-import {Component, DebugElement} from '@angular/core';
+import {TestBed, async} from '@angular/core/testing';
+import {Component} from '@angular/core';
import {By} from '@angular/platform-browser';
import {MdProgressCircleModule} from './progress-circle';
describe('MdProgressCircular', () => {
- let builder: TestComponentBuilder;
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [MdProgressCircleModule],
- declarations: [TestApp],
+ declarations: [
+ BasicProgressSpinner,
+ IndeterminateProgressSpinner,
+ ProgressSpinnerWithValueAndBoundMode,
+ IndeterminateProgressSpinnerWithNgIf,
+ ],
});
TestBed.compileComponents();
}));
- beforeEach(inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
- builder = tcb;
- }));
+ it('should apply a mode of "determinate" if no mode is provided.', () => {
+ let fixture = TestBed.createComponent(BasicProgressSpinner);
+ fixture.detectChanges();
- it('should apply a mode of "determinate" if no mode is provided.', (done: () => void) => {
- builder
- .overrideTemplate(TestApp, '')
- .createAsync(TestApp)
- .then((fixture) => {
- fixture.detectChanges();
- let progressElement = getChildDebugElement(fixture.debugElement, 'md-progress-circle');
- expect(progressElement.componentInstance.mode).toBe('determinate');
- done();
- });
+ let progressElement = fixture.debugElement.query(By.css('md-progress-circle'));
+ expect(progressElement.componentInstance.mode).toBe('determinate');
});
- it('should not modify the mode if a valid mode is provided.', (done: () => void) => {
- builder
- .overrideTemplate(TestApp, '')
- .createAsync(TestApp)
- .then((fixture) => {
- fixture.detectChanges();
- let progressElement = getChildDebugElement(fixture.debugElement, 'md-progress-circle');
- expect(progressElement.componentInstance.mode).toBe('indeterminate');
- done();
- });
+ it('should not modify the mode if a valid mode is provided.', () => {
+ let fixture = TestBed.createComponent(IndeterminateProgressSpinner);
+ fixture.detectChanges();
+
+ let progressElement = fixture.debugElement.query(By.css('md-progress-circle'));
+ expect(progressElement.componentInstance.mode).toBe('indeterminate');
});
- it('should define a default value of undefined for the value attribute', (done: () => void) => {
- builder
- .overrideTemplate(TestApp, '')
- .createAsync(TestApp)
- .then((fixture) => {
- fixture.detectChanges();
- let progressElement = getChildDebugElement(fixture.debugElement, 'md-progress-circle');
- expect(progressElement.componentInstance.value).toBeUndefined();
- done();
- });
+ it('should define a default value of undefined for the value attribute', () => {
+ let fixture = TestBed.createComponent(BasicProgressSpinner);
+ fixture.detectChanges();
+
+ let progressElement = fixture.debugElement.query(By.css('md-progress-circle'));
+ expect(progressElement.componentInstance.value).toBeUndefined();
});
- it('should set the value to undefined when the mode is set to indeterminate',
- (done: () => void) => {
- builder
- .overrideTemplate(TestApp, ``)
- .createAsync(TestApp)
- .then((fixture) => {
- let progressElement = getChildDebugElement(fixture.debugElement, 'md-progress-circle');
- fixture.debugElement.componentInstance.mode = 'determinate';
- fixture.detectChanges();
- expect(progressElement.componentInstance.value).toBe(50);
- fixture.debugElement.componentInstance.mode = 'indeterminate';
- fixture.detectChanges();
- expect(progressElement.componentInstance.value).toBe(undefined);
- done();
- });
+ it('should set the value to undefined when the mode is set to indeterminate', () => {
+ let fixture = TestBed.createComponent(ProgressSpinnerWithValueAndBoundMode);
+ let progressElement = fixture.debugElement.query(By.css('md-progress-circle'));
+ fixture.debugElement.componentInstance.mode = 'determinate';
+ fixture.detectChanges();
+
+ expect(progressElement.componentInstance.value).toBe(50);
+ fixture.debugElement.componentInstance.mode = 'indeterminate';
+ fixture.detectChanges();
+ expect(progressElement.componentInstance.value).toBe(undefined);
});
- it('should clamp the value of the progress between 0 and 100', (done: () => void) => {
- builder
- .overrideTemplate(TestApp, '')
- .createAsync(TestApp)
- .then((fixture) => {
- fixture.detectChanges();
- let progressElement = getChildDebugElement(fixture.debugElement, 'md-progress-circle');
- let progressComponent = progressElement.componentInstance;
-
- progressComponent.value = 50;
- expect(progressComponent.value).toBe(50);
-
- progressComponent.value = 999;
- expect(progressComponent.value).toBe(100);
-
- progressComponent.value = -10;
- expect(progressComponent.value).toBe(0);
- done();
- });
+ it('should clamp the value of the progress between 0 and 100', () => {
+ let fixture = TestBed.createComponent(BasicProgressSpinner);
+ fixture.detectChanges();
+
+ let progressElement = fixture.debugElement.query(By.css('md-progress-circle'));
+ let progressComponent = progressElement.componentInstance;
+
+ progressComponent.value = 50;
+ expect(progressComponent.value).toBe(50);
+
+ progressComponent.value = 999;
+ expect(progressComponent.value).toBe(100);
+
+ progressComponent.value = -10;
+ expect(progressComponent.value).toBe(0);
});
- it('should clean up the indeterminate animation when the element is destroyed',
- (done: () => void) => {
- let template = ``;
-
- builder
- .overrideTemplate(TestApp, template)
- .createAsync(TestApp)
- .then((fixture) => {
- fixture.detectChanges();
- let progressElement = getChildDebugElement(fixture.debugElement, 'md-progress-circle');
- expect(progressElement.componentInstance.interdeterminateInterval).toBeTruthy();
-
- fixture.debugElement.componentInstance.isHidden = true;
- fixture.detectChanges();
- expect(progressElement.componentInstance.interdeterminateInterval).toBeFalsy();
- done();
- });
- });
+ it('should clean up the indeterminate animation when the element is destroyed', () => {
+ let fixture = TestBed.createComponent(IndeterminateProgressSpinnerWithNgIf);
+ fixture.detectChanges();
+
+ let progressElement = fixture.debugElement.query(By.css('md-progress-circle'));
+ expect(progressElement.componentInstance.interdeterminateInterval).toBeTruthy();
+
+ fixture.debugElement.componentInstance.isHidden = true;
+ fixture.detectChanges();
+ expect(progressElement.componentInstance.interdeterminateInterval).toBeFalsy();
+ });
});
-/** Gets a child DebugElement by tag name. */
-function getChildDebugElement(parent: DebugElement, selector: string): DebugElement {
- return parent.query(By.css(selector));
-}
+@Component({template: ''})
+class BasicProgressSpinner { }
+
+@Component({template: ''})
+class IndeterminateProgressSpinner { }
+@Component({template: ''})
+class ProgressSpinnerWithValueAndBoundMode { }
-/** Test component that contains an MdButton. */
-@Component({
- template: '',
-})
-class TestApp {
-}
+@Component({template: `
+ `})
+class IndeterminateProgressSpinnerWithNgIf { }