|
9 | 9 | import{patchFilteredProperties}from'../../lib/browser/property-descriptor'; |
10 | 10 | import{patchEventTarget}from'../../lib/common/events'; |
11 | 11 | import{isBrowser,isIEOrEdge,isMix,zoneSymbol}from'../../lib/common/utils'; |
12 | | -import{getIEVersion,ifEnvSupports,ifEnvSupportsWithDone,isEdge}from'../test-util'; |
| 12 | +import{getEdgeVersion,getIEVersion,ifEnvSupports,ifEnvSupportsWithDone,isEdge}from'../test-util'; |
13 | 13 |
|
14 | 14 | importSpy=jasmine.Spy; |
15 | 15 | declareconstglobal: any; |
@@ -190,7 +190,7 @@ describe('Zone', function() { |
190 | 190 | 'onvrdisplayactivate','onvrdisplayblur','onvrdisplayconnect', |
191 | 191 | 'onvrdisplaydeactivate','onvrdisplaydisconnect','onvrdisplayfocus', |
192 | 192 | 'onvrdisplaypointerrestricted','onvrdisplaypointerunrestricted', |
193 | | -'onorientationchange' |
| 193 | +'onorientationchange','onerror' |
194 | 194 | ]); |
195 | 195 | }); |
196 | 196 |
|
@@ -390,6 +390,24 @@ describe('Zone', function() { |
390 | 390 | }; |
391 | 391 | expect(testFn).not.toThrow(); |
392 | 392 | })); |
| 393 | + |
| 394 | +it('window.onerror callback signiture should be (message, source, lineno, colno, error)', |
| 395 | +ifEnvSupportsWithDone(canPatchOnProperty(window,'onerror'),function(done: DoneFn){ |
| 396 | +lettestError=newError('testError'); |
| 397 | +window.onerror=function( |
| 398 | +message: any,source?: string,lineno?: number,colno?: number,error?: any){ |
| 399 | +expect(message).toContain('testError'); |
| 400 | +if(getEdgeVersion()!==14){ |
| 401 | +// Edge 14, error will be undefined. |
| 402 | +expect(error).toBe(testError); |
| 403 | +} |
| 404 | +setTimeout(done); |
| 405 | +returntrue; |
| 406 | +}; |
| 407 | +setTimeout(()=>{ |
| 408 | +throwtestError; |
| 409 | +},100); |
| 410 | +})); |
393 | 411 | })); |
394 | 412 |
|
395 | 413 | describe('eventListener hooks',function(){ |
|
0 commit comments