@@ -42,7 +42,7 @@ test('exports cssClasses', () => {
42
42
43
43
test ( 'defaultAdapter returns a complete adapter implementation' , ( ) => {
44
44
verifyDefaultAdapter ( MDCLinearProgressFoundation , [
45
- 'addClass' , 'getPrimaryBar' , 'getBuffer' , 'hasClass' , 'removeClass' , 'setStyle' ,
45
+ 'addClass' , 'getPrimaryBar' , 'forceLayout' , ' getBuffer', 'hasClass' , 'removeClass' , 'setStyle' ,
46
46
] ) ;
47
47
} ) ;
48
48
@@ -70,6 +70,14 @@ test('#setDeterminate removes class', () => {
70
70
td . verify ( mockAdapter . removeClass ( cssClasses . INDETERMINATE_CLASS ) ) ;
71
71
} ) ;
72
72
73
+ test ( '#setDeterminate false calls forceLayout to correctly reset animation timers when reversed' , ( ) => {
74
+ const { foundation, mockAdapter} = setupTest ( ) ;
75
+ td . when ( mockAdapter . hasClass ( cssClasses . REVERSED_CLASS ) ) . thenReturn ( true ) ;
76
+ foundation . init ( ) ;
77
+ foundation . setDeterminate ( false ) ;
78
+ td . verify ( mockAdapter . forceLayout ( ) ) ;
79
+ } ) ;
80
+
73
81
test ( '#setDeterminate restores previous progress value after toggled from false to true' , ( ) => {
74
82
const { foundation, mockAdapter} = setupTest ( ) ;
75
83
const primaryBar = { } ;
@@ -159,6 +167,22 @@ test('#setReverse removes class', () => {
159
167
td . verify ( mockAdapter . removeClass ( cssClasses . REVERSED_CLASS ) ) ;
160
168
} ) ;
161
169
170
+ test ( '#setReverse true calls forceLayout to correctly reset animation timers when indeterminate' , ( ) => {
171
+ const { foundation, mockAdapter} = setupTest ( ) ;
172
+ td . when ( mockAdapter . hasClass ( cssClasses . INDETERMINATE_CLASS ) ) . thenReturn ( true ) ;
173
+ foundation . init ( ) ;
174
+ foundation . setReverse ( true ) ;
175
+ td . verify ( mockAdapter . forceLayout ( ) ) ;
176
+ } ) ;
177
+
178
+ test ( '#setReverse false calls forceLayout to correctly reset animation timers when indeterminate' , ( ) => {
179
+ const { foundation, mockAdapter} = setupTest ( ) ;
180
+ td . when ( mockAdapter . hasClass ( cssClasses . INDETERMINATE_CLASS ) ) . thenReturn ( true ) ;
181
+ foundation . init ( ) ;
182
+ foundation . setReverse ( false ) ;
183
+ td . verify ( mockAdapter . forceLayout ( ) ) ;
184
+ } ) ;
185
+
162
186
test ( '#open removes class' , ( ) => {
163
187
const { foundation, mockAdapter} = setupTest ( ) ;
164
188
td . when ( mockAdapter . hasClass ( cssClasses . REVERSED_CLASS ) ) . thenReturn ( true ) ;
0 commit comments