@@ -466,7 +466,7 @@ for (var idx in frames) {
466466 function ( sentryData ) {
467467 if ( debounceAssertEventCount ( sentryData , 1 , done ) ) {
468468 var sentryData = sentryData [ 0 ] ;
469- assert . equal ( sentryData . exception . values [ 0 ] . type , undefined ) ;
469+ assert . equal ( sentryData . exception . values [ 0 ] . type , 'Error' ) ;
470470
471471 // #<Object> is covering default Android 4.4 and 5.1 browser
472472 assert . match ( sentryData . exception . values [ 0 ] . value , / ^ ( \[ o b j e c t O b j e c t \] | # < O b j e c t > ) $ / ) ;
@@ -617,6 +617,54 @@ for (var idx in frames) {
617617 ) ;
618618 } ) ;
619619
620+ it ( 'should capture unhandledrejection with error' , function ( done ) {
621+ var iframe = this . iframe ;
622+
623+ iframeExecute (
624+ iframe ,
625+ done ,
626+ function ( ) {
627+ setTimeout ( function ( ) {
628+ return Promise . reject ( new Error ( 'test2' ) ) ;
629+ } ) ;
630+ } ,
631+ function ( sentryData ) {
632+ if ( debounceAssertEventCount ( sentryData , 1 , done ) ) {
633+ assert . equal ( sentryData [ 0 ] . exception . values [ 0 ] . value , 'test2' ) ;
634+ assert . equal ( sentryData [ 0 ] . exception . values [ 0 ] . type , 'Error' ) ;
635+ assert . isAtLeast ( sentryData [ 0 ] . exception . values [ 0 ] . stacktrace . frames . length , 1 ) ;
636+ assert . equal ( sentryData [ 0 ] . exception . mechanism . handled , false ) ;
637+ assert . equal ( sentryData [ 0 ] . exception . mechanism . type , 'onunhandledrejection' ) ;
638+ done ( ) ;
639+ }
640+ }
641+ ) ;
642+ } ) ;
643+
644+ it ( 'should capture unhandledrejection as string' , function ( done ) {
645+ var iframe = this . iframe ;
646+
647+ iframeExecute (
648+ iframe ,
649+ done ,
650+ function ( ) {
651+ setTimeout ( function ( ) {
652+ return Promise . reject ( 'test' ) ;
653+ } ) ;
654+ } ,
655+ function ( sentryData ) {
656+ if ( debounceAssertEventCount ( sentryData , 1 , done ) ) {
657+ assert . equal ( sentryData [ 0 ] . exception . values [ 0 ] . value , 'test' ) ;
658+ assert . equal ( sentryData [ 0 ] . exception . values [ 0 ] . type , 'UnhandledRejection' ) ;
659+ assert . equal ( sentryData [ 0 ] . exception . values [ 0 ] . stacktrace , undefined ) ;
660+ assert . equal ( sentryData [ 0 ] . exception . mechanism . handled , false ) ;
661+ assert . equal ( sentryData [ 0 ] . exception . mechanism . type , 'onunhandledrejection' ) ;
662+ done ( ) ;
663+ }
664+ }
665+ ) ;
666+ } ) ;
667+
620668 it ( 'should capture exceptions inside setTimeout' , function ( done ) {
621669 var iframe = this . iframe ;
622670
0 commit comments