@@ -213,6 +213,18 @@ test("script onerror should not reset retry mechanism with parallel loaders", as
213213 expect ( console . log ) . toHaveBeenCalledTimes ( loader . retries ) ;
214214} ) ;
215215
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+
216228test ( "singleton should be used" , ( ) => {
217229 const loader = new Loader ( { apiKey : "foo" } ) ;
218230 const extraLoader = new Loader ( { apiKey : "foo" } ) ;
@@ -231,23 +243,23 @@ test("singleton should throw with different options", () => {
231243
232244test ( "loader should resolve immediately when successfully loaded" , async ( ) => {
233245 // 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 } ) ;
235247 loader [ "done" ] = true ;
236248
237249 await expect ( loader . loadPromise ( ) ) . resolves . toBeUndefined ( ) ;
238250} ) ;
239251
240252test ( "loader should resolve immediately when failed loading" , async ( ) => {
241253 // 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 } ) ;
243255 loader [ "done" ] = true ;
244256 loader [ "onerrorEvent" ] = document . createEvent ( "ErrorEvent" ) ;
245257
246258 await expect ( loader . loadPromise ( ) ) . rejects . toBeDefined ( ) ;
247259} ) ;
248260
249261test ( "loader should wait if already loading" , ( ) => {
250- const loader = new Loader ( { apiKey : "foo" } ) ;
262+ const loader = new Loader ( { apiKey : "foo" , retries : 0 } ) ;
251263 loader [ "loading" ] = true ;
252264
253265 loader . load ( ) ;
0 commit comments