@@ -50,11 +50,11 @@ describe('MdProgressSpinner', () => {
50
50
it ( 'should set the value to undefined when the mode is set to indeterminate' , ( ) => {
51
51
let fixture = TestBed . createComponent ( ProgressSpinnerWithValueAndBoundMode ) ;
52
52
let progressElement = fixture . debugElement . query ( By . css ( 'md-progress-spinner' ) ) ;
53
- fixture . debugElement . componentInstance . mode = 'determinate' ;
53
+ fixture . componentInstance . mode = 'determinate' ;
54
54
fixture . detectChanges ( ) ;
55
55
56
56
expect ( progressElement . componentInstance . value ) . toBe ( 50 ) ;
57
- fixture . debugElement . componentInstance . mode = 'indeterminate' ;
57
+ fixture . componentInstance . mode = 'indeterminate' ;
58
58
fixture . detectChanges ( ) ;
59
59
expect ( progressElement . componentInstance . value ) . toBe ( undefined ) ;
60
60
} ) ;
@@ -89,7 +89,7 @@ describe('MdProgressSpinner', () => {
89
89
let progressElement = fixture . debugElement . query ( By . css ( 'md-progress-spinner' ) ) ;
90
90
expect ( progressElement . componentInstance . interdeterminateInterval ) . toBeTruthy ( ) ;
91
91
92
- fixture . debugElement . componentInstance . isHidden = true ;
92
+ fixture . componentInstance . isHidden = true ;
93
93
fixture . detectChanges ( ) ;
94
94
expect ( progressElement . componentInstance . interdeterminateInterval ) . toBeFalsy ( ) ;
95
95
} ) ;
@@ -102,7 +102,7 @@ describe('MdProgressSpinner', () => {
102
102
103
103
expect ( progressElement . componentInstance . interdeterminateInterval ) . toBeTruthy ( ) ;
104
104
105
- fixture . debugElement . componentInstance . isHidden = true ;
105
+ fixture . componentInstance . isHidden = true ;
106
106
fixture . detectChanges ( ) ;
107
107
108
108
expect ( progressElement . componentInstance . interdeterminateInterval ) . toBeFalsy ( ) ;
@@ -116,7 +116,7 @@ describe('MdProgressSpinner', () => {
116
116
117
117
expect ( progressElement . nativeElement . classList ) . toContain ( 'mat-primary' ) ;
118
118
119
- fixture . debugElement . componentInstance . color = 'accent' ;
119
+ fixture . componentInstance . color = 'accent' ;
120
120
fixture . detectChanges ( ) ;
121
121
122
122
expect ( progressElement . nativeElement . classList ) . toContain ( 'mat-accent' ) ;
@@ -131,13 +131,30 @@ describe('MdProgressSpinner', () => {
131
131
132
132
expect ( progressElement . nativeElement . classList ) . toContain ( 'mat-primary' ) ;
133
133
134
- fixture . debugElement . componentInstance . color = 'accent' ;
134
+ fixture . componentInstance . color = 'accent' ;
135
135
fixture . detectChanges ( ) ;
136
136
137
137
expect ( progressElement . nativeElement . classList ) . toContain ( 'mat-accent' ) ;
138
138
expect ( progressElement . nativeElement . classList ) . not . toContain ( 'mat-primary' ) ;
139
139
} ) ;
140
140
141
+ it ( 'should re-render the circle when switching from indeterminate to determinate mode' , ( ) => {
142
+ let fixture = TestBed . createComponent ( ProgressSpinnerWithValueAndBoundMode ) ;
143
+ let progressElement = fixture . debugElement . query ( By . css ( 'md-progress-spinner' ) ) . nativeElement ;
144
+
145
+ fixture . componentInstance . mode = 'indeterminate' ;
146
+ fixture . detectChanges ( ) ;
147
+
148
+ let path = progressElement . querySelector ( 'path' ) ;
149
+ let oldDimesions = path . getAttribute ( 'd' ) ;
150
+
151
+ fixture . componentInstance . mode = 'determinate' ;
152
+ fixture . detectChanges ( ) ;
153
+
154
+ expect ( path . getAttribute ( 'd' ) ) . not
155
+ . toBe ( oldDimesions , 'Expected circle dimensions to have changed.' ) ;
156
+ } ) ;
157
+
141
158
} ) ;
142
159
143
160
@@ -148,14 +165,14 @@ class BasicProgressSpinner { }
148
165
class IndeterminateProgressSpinner { }
149
166
150
167
@Component ( { template : '<md-progress-spinner value="50" [mode]="mode"></md-progress-spinner>' } )
151
- class ProgressSpinnerWithValueAndBoundMode { }
168
+ class ProgressSpinnerWithValueAndBoundMode { mode = 'indeterminate' ; }
152
169
153
170
@Component ( { template : `
154
171
<md-progress-spinner mode="indeterminate" *ngIf="!isHidden"></md-progress-spinner>` } )
155
- class IndeterminateProgressSpinnerWithNgIf { }
172
+ class IndeterminateProgressSpinnerWithNgIf { isHidden = false ; }
156
173
157
174
@Component ( { template : `<md-spinner *ngIf="!isHidden"></md-spinner>` } )
158
- class SpinnerWithNgIf { }
175
+ class SpinnerWithNgIf { isHidden = false ; }
159
176
160
177
@Component ( { template : `<md-spinner [color]="color"></md-spinner>` } )
161
178
class SpinnerWithColor { color : string = 'primary' ; }
0 commit comments