@@ -90,6 +90,32 @@ describe('StackTraceGPS', function() {
90
90
}
91
91
} ) ;
92
92
93
+ it ( 'resolves source for class method' , function ( done ) {
94
+ var stackframe = new StackFrame ( undefined , [ ] , 'http://localhost:9999/file.js' , 2 , 0 ) ;
95
+ var sourceCache = { 'http://localhost:9999/file.js' : 'class Foo {\nbar () {\n}\n }\n' } ;
96
+ new StackTraceGPS ( { sourceCache : sourceCache } )
97
+ . findFunctionName ( stackframe )
98
+ . then ( callback , done . fail ) ;
99
+
100
+ function callback ( stackframe ) {
101
+ expect ( stackframe ) . toEqual ( new StackFrame ( 'bar' , [ ] , 'http://localhost:9999/file.js' , 2 , 0 ) ) ;
102
+ done ( ) ;
103
+ }
104
+ } ) ;
105
+
106
+ it ( 'resolves source for fat arrow functions' , function ( done ) {
107
+ var stackframe = new StackFrame ( undefined , [ ] , 'http://localhost:9999/file.js' , 1 , 4 ) ;
108
+ var sourceCache = { 'http://localhost:9999/file.js' : 'var meow = () => { }' } ;
109
+ new StackTraceGPS ( { sourceCache : sourceCache } )
110
+ . findFunctionName ( stackframe )
111
+ . then ( callback , done . fail ) ;
112
+
113
+ function callback ( stackframe ) {
114
+ expect ( stackframe ) . toEqual ( new StackFrame ( 'meow' , [ ] , 'http://localhost:9999/file.js' , 1 , 4 ) ) ;
115
+ done ( ) ;
116
+ }
117
+ } ) ;
118
+
93
119
it ( 'finds function name within function expression' , function ( done ) {
94
120
var source = 'var foo = function() {};\nfunction bar() {}\nvar baz = eval("XXX")' ;
95
121
jasmine . Ajax . stubRequest ( 'http://localhost:9999/file.js' ) . andReturn ( { responseText : source } ) ;
0 commit comments