@@ -7,6 +7,8 @@ let exceptionEvent: Event;
7
7
let exceptionWithoutStackTrace : Event ;
8
8
let windowsExceptionEvent : Event ;
9
9
let windowsLowerCaseExceptionEvent : Event ;
10
+ let windowsExceptionEventWithoutPrefix : Event ;
11
+ let windowsExceptionEventWithBackslashPrefix : Event ;
10
12
let multipleStacktracesEvent : Event ;
11
13
12
14
describe ( 'RewriteFrames' , ( ) => {
@@ -44,6 +46,28 @@ describe('RewriteFrames', () => {
44
46
] ,
45
47
} ,
46
48
} ;
49
+ windowsExceptionEventWithoutPrefix = {
50
+ exception : {
51
+ values : [
52
+ {
53
+ stacktrace : {
54
+ frames : [ { filename : 'www\\src\\app\\file1.js' } , { filename : 'www\\src\\app\\file2.js' } ] ,
55
+ } ,
56
+ } ,
57
+ ] ,
58
+ } ,
59
+ } ;
60
+ windowsExceptionEventWithBackslashPrefix = {
61
+ exception : {
62
+ values : [
63
+ {
64
+ stacktrace : {
65
+ frames : [ { filename : '\\www\\src\\app\\file1.js' } , { filename : '\\www\\src\\app\\file2.js' } ] ,
66
+ } ,
67
+ } ,
68
+ ] ,
69
+ } ,
70
+ } ;
47
71
exceptionWithoutStackTrace = {
48
72
exception : {
49
73
values : [ { } ] ,
@@ -121,6 +145,18 @@ describe('RewriteFrames', () => {
121
145
expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 0 ] . filename ) . toEqual ( 'app:///file1.js' ) ;
122
146
expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . filename ) . toEqual ( 'app:///file2.js' ) ;
123
147
} ) ;
148
+
149
+ it ( 'transforms windowsExceptionEvent frames with no prefix' , ( ) => {
150
+ const event = rewriteFrames . process ( windowsExceptionEventWithoutPrefix ) ;
151
+ expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 0 ] . filename ) . toEqual ( 'app:///file1.js' ) ;
152
+ expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . filename ) . toEqual ( 'app:///file2.js' ) ;
153
+ } ) ;
154
+
155
+ it ( 'transforms windowsExceptionEvent frames with backslash prefix' , ( ) => {
156
+ const event = rewriteFrames . process ( windowsExceptionEventWithBackslashPrefix ) ;
157
+ expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 0 ] . filename ) . toEqual ( 'app:///file1.js' ) ;
158
+ expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . filename ) . toEqual ( 'app:///file2.js' ) ;
159
+ } ) ;
124
160
} ) ;
125
161
126
162
describe ( 'can use custom root to perform `relative` on filepaths' , ( ) => {
@@ -147,6 +183,18 @@ describe('RewriteFrames', () => {
147
183
expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 0 ] . filename ) . toEqual ( 'app:///src/app/file1.js' ) ;
148
184
expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . filename ) . toEqual ( 'app:///src/app/file2.js' ) ;
149
185
} ) ;
186
+
187
+ it ( 'transforms windowsExceptionEvent frames with no prefix' , ( ) => {
188
+ const event = rewriteFrames . process ( windowsExceptionEventWithoutPrefix ) ;
189
+ expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 0 ] . filename ) . toEqual ( 'app:///src/app/file1.js' ) ;
190
+ expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . filename ) . toEqual ( 'app:///src/app/file2.js' ) ;
191
+ } ) ;
192
+
193
+ it ( 'transforms windowsExceptionEvent frames with backslash prefix' , ( ) => {
194
+ const event = rewriteFrames . process ( windowsExceptionEventWithBackslashPrefix ) ;
195
+ expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 0 ] . filename ) . toEqual ( 'app:///src/app/file1.js' ) ;
196
+ expect ( event . exception ! . values ! [ 0 ] . stacktrace ! . frames ! [ 1 ] . filename ) . toEqual ( 'app:///src/app/file2.js' ) ;
197
+ } ) ;
150
198
} ) ;
151
199
152
200
describe ( 'can use custom iteratee' , ( ) => {
0 commit comments