@@ -43,277 +43,6 @@ describe("wrapped built-ins", function() {
43
43
} ) ;
44
44
} ) ;
45
45
46
- describe ( "unhandledrejection" , function ( ) {
47
- it ( "should capture unhandledrejection with error" , function ( ) {
48
- return runInSandbox ( sandbox , function ( ) {
49
- if ( supportsOnunhandledRejection ( ) ) {
50
- Promise . reject ( new Error ( "test2" ) ) ;
51
- } else {
52
- window . resolveTest ( { window : window } ) ;
53
- }
54
- } ) . then ( function ( summary ) {
55
- if ( summary . window . supportsOnunhandledRejection ( ) ) {
56
- assert . equal ( summary . events [ 0 ] . exception . values [ 0 ] . value , "test2" ) ;
57
- assert . equal ( summary . events [ 0 ] . exception . values [ 0 ] . type , "Error" ) ;
58
-
59
- // Of course Safari had to screw up here...
60
- if ( ! / V e r s i o n \/ \d .+ S a f a r i \/ \d / . test ( window . navigator . userAgent ) ) {
61
- assert . isAtLeast (
62
- summary . events [ 0 ] . exception . values [ 0 ] . stacktrace . frames . length ,
63
- 1
64
- ) ;
65
- }
66
- assert . equal (
67
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . handled ,
68
- false
69
- ) ;
70
- assert . equal (
71
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . type ,
72
- "onunhandledrejection"
73
- ) ;
74
- }
75
- } ) ;
76
- } ) ;
77
-
78
- it ( "should capture unhandledrejection with a string" , function ( ) {
79
- return runInSandbox ( sandbox , function ( ) {
80
- if ( supportsOnunhandledRejection ( ) ) {
81
- Promise . reject ( "test" ) ;
82
- } else {
83
- window . resolveTest ( { window : window } ) ;
84
- }
85
- } ) . then ( function ( summary ) {
86
- if ( summary . window . supportsOnunhandledRejection ( ) ) {
87
- // non-error rejections doesnt provide stacktraces so we can skip the assertion
88
- assert . equal (
89
- summary . events [ 0 ] . exception . values [ 0 ] . value ,
90
- "Non-Error promise rejection captured with value: test"
91
- ) ;
92
- assert . equal (
93
- summary . events [ 0 ] . exception . values [ 0 ] . type ,
94
- "UnhandledRejection"
95
- ) ;
96
- assert . equal (
97
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . handled ,
98
- false
99
- ) ;
100
- assert . equal (
101
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . type ,
102
- "onunhandledrejection"
103
- ) ;
104
- }
105
- } ) ;
106
- } ) ;
107
-
108
- it ( "should capture unhandledrejection with a monster string" , function ( ) {
109
- return runInSandbox ( sandbox , function ( ) {
110
- if ( supportsOnunhandledRejection ( ) ) {
111
- Promise . reject ( "test" . repeat ( 100 ) ) ;
112
- } else {
113
- window . resolveTest ( { window : window } ) ;
114
- }
115
- } ) . then ( function ( summary ) {
116
- if ( summary . window . supportsOnunhandledRejection ( ) ) {
117
- // non-error rejections doesnt provide stacktraces so we can skip the assertion
118
- assert . equal ( summary . events [ 0 ] . exception . values [ 0 ] . value . length , 253 ) ;
119
- assert . include (
120
- summary . events [ 0 ] . exception . values [ 0 ] . value ,
121
- "Non-Error promise rejection captured with value: "
122
- ) ;
123
- assert . equal (
124
- summary . events [ 0 ] . exception . values [ 0 ] . type ,
125
- "UnhandledRejection"
126
- ) ;
127
- assert . equal (
128
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . handled ,
129
- false
130
- ) ;
131
- assert . equal (
132
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . type ,
133
- "onunhandledrejection"
134
- ) ;
135
- }
136
- } ) ;
137
- } ) ;
138
-
139
- it ( "should capture unhandledrejection with an object" , function ( ) {
140
- return runInSandbox ( sandbox , function ( ) {
141
- if ( supportsOnunhandledRejection ( ) ) {
142
- Promise . reject ( { a : "b" , b : "c" , c : "d" } ) ;
143
- } else {
144
- window . resolveTest ( { window : window } ) ;
145
- }
146
- } ) . then ( function ( summary ) {
147
- if ( summary . window . supportsOnunhandledRejection ( ) ) {
148
- // non-error rejections doesnt provide stacktraces so we can skip the assertion
149
- assert . equal (
150
- summary . events [ 0 ] . exception . values [ 0 ] . value ,
151
- "Non-Error promise rejection captured with keys: a, b, c"
152
- ) ;
153
- assert . equal (
154
- summary . events [ 0 ] . exception . values [ 0 ] . type ,
155
- "UnhandledRejection"
156
- ) ;
157
- assert . equal (
158
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . handled ,
159
- false
160
- ) ;
161
- assert . equal (
162
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . type ,
163
- "onunhandledrejection"
164
- ) ;
165
- }
166
- } ) ;
167
- } ) ;
168
-
169
- it ( "should capture unhandledrejection with an monster object" , function ( ) {
170
- return runInSandbox ( sandbox , function ( ) {
171
- if ( supportsOnunhandledRejection ( ) ) {
172
- var a = {
173
- a : "1" . repeat ( "100" ) ,
174
- b : "2" . repeat ( "100" ) ,
175
- c : "3" . repeat ( "100" ) ,
176
- } ;
177
- a . d = a . a ;
178
- a . e = a ;
179
- Promise . reject ( a ) ;
180
- } else {
181
- window . resolveTest ( { window : window } ) ;
182
- }
183
- } ) . then ( function ( summary ) {
184
- if ( summary . window . supportsOnunhandledRejection ( ) ) {
185
- // non-error rejections doesnt provide stacktraces so we can skip the assertion
186
- assert . equal (
187
- summary . events [ 0 ] . exception . values [ 0 ] . value ,
188
- "Non-Error promise rejection captured with keys: a, b, c, d, e"
189
- ) ;
190
- assert . equal (
191
- summary . events [ 0 ] . exception . values [ 0 ] . type ,
192
- "UnhandledRejection"
193
- ) ;
194
- assert . equal (
195
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . handled ,
196
- false
197
- ) ;
198
- assert . equal (
199
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . type ,
200
- "onunhandledrejection"
201
- ) ;
202
- }
203
- } ) ;
204
- } ) ;
205
-
206
- it ( "should capture unhandledrejection with a number" , function ( ) {
207
- return runInSandbox ( sandbox , function ( ) {
208
- if ( supportsOnunhandledRejection ( ) ) {
209
- Promise . reject ( 1337 ) ;
210
- } else {
211
- window . resolveTest ( { window : window } ) ;
212
- }
213
- } ) . then ( function ( summary ) {
214
- if ( summary . window . supportsOnunhandledRejection ( ) ) {
215
- // non-error rejections doesnt provide stacktraces so we can skip the assertion
216
- assert . equal (
217
- summary . events [ 0 ] . exception . values [ 0 ] . value ,
218
- "Non-Error promise rejection captured with value: 1337"
219
- ) ;
220
- assert . equal (
221
- summary . events [ 0 ] . exception . values [ 0 ] . type ,
222
- "UnhandledRejection"
223
- ) ;
224
- assert . equal (
225
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . handled ,
226
- false
227
- ) ;
228
- assert . equal (
229
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . type ,
230
- "onunhandledrejection"
231
- ) ;
232
- }
233
- } ) ;
234
- } ) ;
235
-
236
- it ( "should capture unhandledrejection with null" , function ( ) {
237
- return runInSandbox ( sandbox , function ( ) {
238
- if ( supportsOnunhandledRejection ( ) ) {
239
- Promise . reject ( null ) ;
240
- } else {
241
- window . resolveTest ( { window : window } ) ;
242
- }
243
- } ) . then ( function ( summary ) {
244
- if ( summary . window . supportsOnunhandledRejection ( ) ) {
245
- // non-error rejections doesnt provide stacktraces so we can skip the assertion
246
- assert . equal (
247
- summary . events [ 0 ] . exception . values [ 0 ] . value ,
248
- "Non-Error promise rejection captured with value: null"
249
- ) ;
250
- assert . equal (
251
- summary . events [ 0 ] . exception . values [ 0 ] . type ,
252
- "UnhandledRejection"
253
- ) ;
254
- assert . equal (
255
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . handled ,
256
- false
257
- ) ;
258
- assert . equal (
259
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . type ,
260
- "onunhandledrejection"
261
- ) ;
262
- }
263
- } ) ;
264
- } ) ;
265
-
266
- it ( "should capture unhandledrejection with an undefined" , function ( ) {
267
- return runInSandbox ( sandbox , function ( ) {
268
- if ( supportsOnunhandledRejection ( ) ) {
269
- Promise . reject ( undefined ) ;
270
- } else {
271
- window . resolveTest ( { window : window } ) ;
272
- }
273
- } ) . then ( function ( summary ) {
274
- if ( summary . window . supportsOnunhandledRejection ( ) ) {
275
- // non-error rejections doesnt provide stacktraces so we can skip the assertion
276
- assert . equal (
277
- summary . events [ 0 ] . exception . values [ 0 ] . value ,
278
- "Non-Error promise rejection captured with value: undefined"
279
- ) ;
280
- assert . equal (
281
- summary . events [ 0 ] . exception . values [ 0 ] . type ,
282
- "UnhandledRejection"
283
- ) ;
284
- assert . equal (
285
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . handled ,
286
- false
287
- ) ;
288
- assert . equal (
289
- summary . events [ 0 ] . exception . values [ 0 ] . mechanism . type ,
290
- "onunhandledrejection"
291
- ) ;
292
- }
293
- } ) ;
294
- } ) ;
295
-
296
- it ( "should skip our own failed requests that somehow bubbled-up to unhandledrejection handler" , function ( ) {
297
- return runInSandbox ( sandbox , function ( ) {
298
- if ( supportsOnunhandledRejection ( ) ) {
299
- Promise . reject ( {
300
- __sentry_own_request__ : true ,
301
- } ) ;
302
- Promise . reject ( {
303
- __sentry_own_request__ : false ,
304
- } ) ;
305
- Promise . reject ( { } ) ;
306
- } else {
307
- window . resolveTest ( { window : window } ) ;
308
- }
309
- } ) . then ( function ( summary ) {
310
- if ( summary . window . supportsOnunhandledRejection ( ) ) {
311
- assert . equal ( summary . events . length , 2 ) ;
312
- }
313
- } ) ;
314
- } ) ;
315
- } ) ;
316
-
317
46
it ( "should capture exceptions inside setTimeout" , function ( ) {
318
47
return runInSandbox ( sandbox , function ( ) {
319
48
setTimeout ( function ( ) {
0 commit comments