@@ -108,6 +108,16 @@ describe('TraceKit', function () {
108
108
expect ( stackFrames . stack [ 2 ] ) . toEqual ( { url : 'http://path/to/file.js' , func : '.plugin/e.fn[c]/<' , args : [ ] , line : 1 , column : 1 , context : null } ) ;
109
109
} ) ;
110
110
111
+ it ( 'should parse Firefox 44 ns exceptions' , function ( ) {
112
+ var stackFrames = TraceKit . computeStackTrace ( CapturedExceptions . FIREFOX_44_NS_EXCEPTION ) ;
113
+ expect ( stackFrames ) . toBeTruthy ( ) ;
114
+ expect ( stackFrames . stack . length ) . toBe ( 4 ) ;
115
+ expect ( stackFrames . stack [ 0 ] ) . toEqual ( { url : 'http://path/to/file.js' , func : '[2]</Bar.prototype._baz/</<' , args : [ ] , line : 703 , column : 28 , context : null } ) ;
116
+ expect ( stackFrames . stack [ 1 ] ) . toEqual ( { url : 'file:///path/to/file.js' , func : 'App.prototype.foo' , args : [ ] , line : 15 , column : 2 , context : null } ) ;
117
+ expect ( stackFrames . stack [ 2 ] ) . toEqual ( { url : 'file:///path/to/file.js' , func : 'bar' , args : [ ] , line : 20 , column : 3 , context : null } ) ;
118
+ expect ( stackFrames . stack [ 3 ] ) . toEqual ( { url : 'file:///path/to/index.html' , func : '?' , args : [ ] , line : 23 , column : 1 , context : null } ) ;
119
+ } ) ;
120
+
111
121
it ( 'should parse Chrome error with no location' , function ( ) {
112
122
var stackFrames = TraceKit . computeStackTrace ( { stack : "error\n at Array.forEach (native)" } ) ;
113
123
expect ( stackFrames . stack . length ) . toBe ( 1 ) ;
0 commit comments