@@ -213,6 +213,18 @@ test("script onerror should not reset retry mechanism with parallel loaders", as
213
213
expect ( console . log ) . toHaveBeenCalledTimes ( loader . retries ) ;
214
214
} ) ;
215
215
216
+ test ( "loader should not reset retry mechanism if successfully loaded" , ( ) => {
217
+ const loader = new Loader ( { apiKey : "foo" , retries : 0 } ) ;
218
+ const deleteScript = jest . spyOn ( loader , "deleteScript" ) ;
219
+
220
+ loader [ "done" ] = true ;
221
+ expect ( loader . load ( ) ) . resolves . toBeUndefined ( ) ;
222
+
223
+ expect ( loader [ "done" ] ) . toBeTruthy ( ) ;
224
+ expect ( loader [ "loading" ] ) . toBeFalsy ( ) ;
225
+ expect ( deleteScript ) . toHaveBeenCalledTimes ( 0 ) ;
226
+ } ) ;
227
+
216
228
test ( "singleton should be used" , ( ) => {
217
229
const loader = new Loader ( { apiKey : "foo" } ) ;
218
230
const extraLoader = new Loader ( { apiKey : "foo" } ) ;
@@ -231,23 +243,23 @@ test("singleton should throw with different options", () => {
231
243
232
244
test ( "loader should resolve immediately when successfully loaded" , async ( ) => {
233
245
// use await/async pattern since the promise resolves without trigger
234
- const loader = new Loader ( { apiKey : "foo" } ) ;
246
+ const loader = new Loader ( { apiKey : "foo" , retries : 0 } ) ;
235
247
loader [ "done" ] = true ;
236
248
237
249
await expect ( loader . loadPromise ( ) ) . resolves . toBeUndefined ( ) ;
238
250
} ) ;
239
251
240
252
test ( "loader should resolve immediately when failed loading" , async ( ) => {
241
253
// use await/async pattern since the promise rejects without trigger
242
- const loader = new Loader ( { apiKey : "foo" } ) ;
254
+ const loader = new Loader ( { apiKey : "foo" , retries : 0 } ) ;
243
255
loader [ "done" ] = true ;
244
256
loader [ "onerrorEvent" ] = document . createEvent ( "ErrorEvent" ) ;
245
257
246
258
await expect ( loader . loadPromise ( ) ) . rejects . toBeDefined ( ) ;
247
259
} ) ;
248
260
249
261
test ( "loader should wait if already loading" , ( ) => {
250
- const loader = new Loader ( { apiKey : "foo" } ) ;
262
+ const loader = new Loader ( { apiKey : "foo" , retries : 0 } ) ;
251
263
loader [ "loading" ] = true ;
252
264
253
265
loader . load ( ) ;
0 commit comments