@@ -466,7 +466,7 @@ for (var idx in frames) {
466
466
function ( sentryData ) {
467
467
if ( debounceAssertEventCount ( sentryData , 1 , done ) ) {
468
468
var sentryData = sentryData [ 0 ] ;
469
- assert . equal ( sentryData . exception . values [ 0 ] . type , undefined ) ;
469
+ assert . equal ( sentryData . exception . values [ 0 ] . type , 'Error' ) ;
470
470
471
471
// #<Object> is covering default Android 4.4 and 5.1 browser
472
472
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) {
617
617
) ;
618
618
} ) ;
619
619
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
+
620
668
it ( 'should capture exceptions inside setTimeout' , function ( done ) {
621
669
var iframe = this . iframe ;
622
670
0 commit comments