1+ // tslint:disable:deprecation
2+
13import { Event , StackFrame } from '@sentry/types' ;
24
35import { RewriteFrames } from '../src/rewriteframes' ;
46
57let rewriteFrames : RewriteFrames ;
68let messageEvent : Event ;
79let exceptionEvent : Event ;
10+ let threadEvent : Event ;
811
912describe ( 'RewriteFrames' , ( ) => {
1013 beforeEach ( ( ) => {
@@ -38,6 +41,22 @@ describe('RewriteFrames', () => {
3841 ] ,
3942 } ,
4043 } ;
44+ threadEvent = {
45+ threads : [
46+ {
47+ stacktrace : {
48+ frames : [
49+ {
50+ filename : '/www/src/app/file1.js' ,
51+ } ,
52+ {
53+ filename : '/www/src/app/file2.js' ,
54+ } ,
55+ ] ,
56+ } ,
57+ } ,
58+ ] ,
59+ } ;
4160 } ) ;
4261
4362 describe ( 'default iteratee appends basename to `app:///` if frame starts with `/`' , ( ) => {
@@ -56,6 +75,12 @@ describe('RewriteFrames', () => {
5675 expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 0 ] . filename ) . toEqual ( 'app:///file1.js' ) ;
5776 expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . filename ) . toEqual ( 'app:///file2.js' ) ;
5877 } ) ;
78+
79+ it ( 'transforms threadEvent frames' , ( ) => {
80+ const event = rewriteFrames . process ( threadEvent ) ;
81+ expect ( event . threads ! [ 0 ] . stacktrace ! . frames ! [ 0 ] . filename ) . toEqual ( 'app:///file1.js' ) ;
82+ expect ( event . threads ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . filename ) . toEqual ( 'app:///file2.js' ) ;
83+ } ) ;
5984 } ) ;
6085
6186 describe ( 'can use custom root to perform `relative` on filepaths' , ( ) => {
@@ -76,6 +101,12 @@ describe('RewriteFrames', () => {
76101 expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 0 ] . filename ) . toEqual ( 'app:///src/app/file1.js' ) ;
77102 expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . filename ) . toEqual ( 'app:///src/app/file2.js' ) ;
78103 } ) ;
104+
105+ it ( 'transforms threadEvent frames' , async ( ) => {
106+ const event = rewriteFrames . process ( threadEvent ) ;
107+ expect ( event . threads ! [ 0 ] . stacktrace ! . frames ! [ 0 ] . filename ) . toEqual ( 'app:///src/app/file1.js' ) ;
108+ expect ( event . threads ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . filename ) . toEqual ( 'app:///src/app/file2.js' ) ;
109+ } ) ;
79110 } ) ;
80111
81112 describe ( 'can use custom iteratee' , ( ) => {
@@ -103,5 +134,13 @@ describe('RewriteFrames', () => {
103134 expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . filename ) . toEqual ( '/www/src/app/file2.js' ) ;
104135 expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . function ) . toEqual ( 'whoops' ) ;
105136 } ) ;
137+
138+ it ( 'transforms threadEvent frames' , async ( ) => {
139+ const event = rewriteFrames . process ( threadEvent ) ;
140+ expect ( event . threads ! [ 0 ] . stacktrace ! . frames ! [ 0 ] . filename ) . toEqual ( '/www/src/app/file1.js' ) ;
141+ expect ( event . threads ! [ 0 ] . stacktrace ! . frames ! [ 0 ] . function ) . toEqual ( 'whoops' ) ;
142+ expect ( event . threads ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . filename ) . toEqual ( '/www/src/app/file2.js' ) ;
143+ expect ( event . threads ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . function ) . toEqual ( 'whoops' ) ;
144+ } ) ;
106145 } ) ;
107146} ) ;
0 commit comments