@@ -405,6 +405,7 @@ describe('integration', function () {
405405 assert . equal ( breadcrumbs . length , 1 ) ;
406406
407407 assert . equal ( breadcrumbs [ 0 ] . type , 'http' ) ;
408+ assert . equal ( breadcrumbs [ 0 ] . category , 'xhr' ) ;
408409 assert . equal ( breadcrumbs [ 0 ] . data . method , 'GET' ) ;
409410 // NOTE: not checking status code because we seem to get
410411 // statusCode 0/undefined from Phantom when fetching
@@ -441,6 +442,46 @@ describe('integration', function () {
441442 ) ;
442443 } ) ;
443444
445+ it ( 'should record a fetch request' , function ( done ) {
446+ var iframe = this . iframe ;
447+
448+ iframeExecute ( iframe , done ,
449+ function ( ) {
450+ // some browsers trigger onpopstate for load / reset breadcrumb state
451+ Raven . _breadcrumbs = [ ] ;
452+
453+ fetch ( '/test/integration/example.json' ) . then ( function ( ) {
454+ setTimeout ( done ) ;
455+ } , function ( ) {
456+ setTimeout ( done ) ;
457+ } ) ;
458+ } ,
459+ function ( ) {
460+ var Raven = iframe . contentWindow . Raven ,
461+ breadcrumbs = Raven . _breadcrumbs ;
462+
463+ if ( 'fetch' in window ) {
464+ assert . equal ( breadcrumbs . length , 1 ) ;
465+
466+ assert . equal ( breadcrumbs [ 0 ] . type , 'http' ) ;
467+ assert . equal ( breadcrumbs [ 0 ] . category , 'fetch' ) ;
468+ assert . equal ( breadcrumbs [ 0 ] . data . method , 'GET' ) ;
469+ } else {
470+ // otherwise we use a fetch polyfill based on xhr
471+ assert . equal ( breadcrumbs . length , 2 ) ;
472+
473+ assert . equal ( breadcrumbs [ 0 ] . type , 'http' ) ;
474+ assert . equal ( breadcrumbs [ 0 ] . category , 'fetch' ) ;
475+ assert . equal ( breadcrumbs [ 0 ] . data . method , 'GET' ) ;
476+
477+ assert . equal ( breadcrumbs [ 1 ] . type , 'http' ) ;
478+ assert . equal ( breadcrumbs [ 1 ] . category , 'xhr' ) ;
479+ assert . equal ( breadcrumbs [ 1 ] . data . method , 'GET' ) ;
480+ }
481+ }
482+ ) ;
483+ } ) ;
484+
444485 it ( 'should record a mouse click on element WITH click handler present' , function ( done ) {
445486 var iframe = this . iframe ;
446487
0 commit comments