@@ -118,9 +118,11 @@ test("loadCallback callback should fire", () => {
118
118
test ( "script onerror should reject promise" , async ( ) => {
119
119
const loader = new Loader ( { apiKey : "foo" , retries : 0 } ) ;
120
120
121
- const rejection = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( ErrorEvent ) ;
121
+ const rejection = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( Error ) ;
122
122
123
- loader [ "loadErrorCallback" ] ( document . createEvent ( "ErrorEvent" ) ) ;
123
+ loader [ "loadErrorCallback" ] (
124
+ new ErrorEvent ( "ErrorEvent(" , { error : new Error ( "" ) } )
125
+ ) ;
124
126
125
127
await rejection ;
126
128
expect ( loader [ "done" ] ) . toBeTruthy ( ) ;
@@ -132,16 +134,20 @@ test("script onerror should reject promise with multiple loaders", async () => {
132
134
const loader = new Loader ( { apiKey : "foo" , retries : 0 } ) ;
133
135
const extraLoader = new Loader ( { apiKey : "foo" , retries : 0 } ) ;
134
136
135
- let rejection = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( ErrorEvent ) ;
136
- loader [ "loadErrorCallback" ] ( document . createEvent ( "ErrorEvent" ) ) ;
137
+ let rejection = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( Error ) ;
138
+ loader [ "loadErrorCallback" ] (
139
+ new ErrorEvent ( "ErrorEvent(" , { error : new Error ( "" ) } )
140
+ ) ;
137
141
138
142
await rejection ;
139
143
expect ( loader [ "done" ] ) . toBeTruthy ( ) ;
140
144
expect ( loader [ "loading" ] ) . toBeFalsy ( ) ;
141
145
expect ( loader [ "onerrorEvent" ] ) . toBeInstanceOf ( ErrorEvent ) ;
142
146
143
- rejection = expect ( extraLoader . load ( ) ) . rejects . toBeInstanceOf ( ErrorEvent ) ;
144
- loader [ "loadErrorCallback" ] ( document . createEvent ( "ErrorEvent" ) ) ;
147
+ rejection = expect ( extraLoader . load ( ) ) . rejects . toBeInstanceOf ( Error ) ;
148
+ loader [ "loadErrorCallback" ] (
149
+ new ErrorEvent ( "ErrorEvent(" , { error : new Error ( "" ) } )
150
+ ) ;
145
151
146
152
await rejection ;
147
153
expect ( extraLoader [ "done" ] ) . toBeTruthy ( ) ;
@@ -151,12 +157,16 @@ test("script onerror should reject promise with multiple loaders", async () => {
151
157
test ( "script onerror should retry" , async ( ) => {
152
158
const loader = new Loader ( { apiKey : "foo" , retries : 1 } ) ;
153
159
const deleteScript = jest . spyOn ( loader , "deleteScript" ) ;
154
- const rejection = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( ErrorEvent ) ;
160
+ const rejection = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( Error ) ;
155
161
// eslint-disable-next-line @typescript-eslint/no-empty-function
156
162
console . log = jest . fn ( ) ;
157
163
158
- loader [ "loadErrorCallback" ] ( document . createEvent ( "ErrorEvent" ) ) ;
159
- loader [ "loadErrorCallback" ] ( document . createEvent ( "ErrorEvent" ) ) ;
164
+ loader [ "loadErrorCallback" ] (
165
+ new ErrorEvent ( "ErrorEvent(" , { error : new Error ( "" ) } )
166
+ ) ;
167
+ loader [ "loadErrorCallback" ] (
168
+ new ErrorEvent ( "ErrorEvent(" , { error : new Error ( "" ) } )
169
+ ) ;
160
170
jest . runAllTimers ( ) ;
161
171
162
172
await rejection ;
@@ -173,19 +183,27 @@ test("script onerror should reset retry mechanism with next loader", async () =>
173
183
// eslint-disable-next-line @typescript-eslint/no-empty-function
174
184
console . log = jest . fn ( ) ;
175
185
176
- let rejection = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( ErrorEvent ) ;
177
- loader [ "loadErrorCallback" ] ( document . createEvent ( "ErrorEvent" ) ) ;
178
- loader [ "loadErrorCallback" ] ( document . createEvent ( "ErrorEvent" ) ) ;
186
+ let rejection = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( Error ) ;
187
+ loader [ "loadErrorCallback" ] (
188
+ new ErrorEvent ( "ErrorEvent(" , { error : new Error ( "" ) } )
189
+ ) ;
190
+ loader [ "loadErrorCallback" ] (
191
+ new ErrorEvent ( "ErrorEvent(" , { error : new Error ( "" ) } )
192
+ ) ;
179
193
jest . runAllTimers ( ) ;
180
194
await rejection ;
181
195
182
- rejection = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( ErrorEvent ) ;
196
+ rejection = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( Error ) ;
183
197
expect ( loader [ "done" ] ) . toBeFalsy ( ) ;
184
198
expect ( loader [ "loading" ] ) . toBeTruthy ( ) ;
185
199
expect ( loader [ "errors" ] . length ) . toBe ( 0 ) ;
186
200
187
- loader [ "loadErrorCallback" ] ( document . createEvent ( "ErrorEvent" ) ) ;
188
- loader [ "loadErrorCallback" ] ( document . createEvent ( "ErrorEvent" ) ) ;
201
+ loader [ "loadErrorCallback" ] (
202
+ new ErrorEvent ( "ErrorEvent(" , { error : new Error ( "" ) } )
203
+ ) ;
204
+ loader [ "loadErrorCallback" ] (
205
+ new ErrorEvent ( "ErrorEvent(" , { error : new Error ( "" ) } )
206
+ ) ;
189
207
jest . runAllTimers ( ) ;
190
208
191
209
await rejection ;
@@ -199,10 +217,14 @@ test("script onerror should not reset retry mechanism with parallel loaders", as
199
217
// eslint-disable-next-line @typescript-eslint/no-empty-function
200
218
console . log = jest . fn ( ) ;
201
219
202
- const rejection1 = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( ErrorEvent ) ;
203
- const rejection2 = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( ErrorEvent ) ;
204
- loader [ "loadErrorCallback" ] ( document . createEvent ( "ErrorEvent" ) ) ;
205
- loader [ "loadErrorCallback" ] ( document . createEvent ( "ErrorEvent" ) ) ;
220
+ const rejection1 = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( Error ) ;
221
+ const rejection2 = expect ( loader . load ( ) ) . rejects . toBeInstanceOf ( Error ) ;
222
+ loader [ "loadErrorCallback" ] (
223
+ new ErrorEvent ( "ErrorEvent(" , { error : new Error ( "" ) } )
224
+ ) ;
225
+ loader [ "loadErrorCallback" ] (
226
+ new ErrorEvent ( "ErrorEvent(" , { error : new Error ( "" ) } )
227
+ ) ;
206
228
jest . runAllTimers ( ) ;
207
229
208
230
await Promise . all ( [ rejection1 , rejection2 ] ) ;
@@ -301,7 +323,9 @@ test("loader should resolve immediately when failed loading", async () => {
301
323
// use await/async pattern since the promise rejects without trigger
302
324
const loader = new Loader ( { apiKey : "foo" , retries : 0 } ) ;
303
325
loader [ "done" ] = true ;
304
- loader [ "onerrorEvent" ] = document . createEvent ( "ErrorEvent" ) ;
326
+ loader [ "onerrorEvent" ] = new ErrorEvent ( "ErrorEvent(" , {
327
+ error : new Error ( "" ) ,
328
+ } ) ;
305
329
306
330
await expect ( loader . loadPromise ( ) ) . rejects . toBeDefined ( ) ;
307
331
} ) ;
0 commit comments