MCPcopy Index your code
hub / github.com/mailru/FileAPI / extractStacktrace

Function extractStacktrace

tests/qunit/qunit.js:1332–1369  ·  view source on GitHub ↗
( e, offset )

Source from the content-addressed store, hash-verified

1330// Later Safari and IE10 are supposed to support error.stack as well
1331// See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack
1332function extractStacktrace( e, offset ) {
1333 offset = offset === undefined ? 3 : offset;
1334
1335 var stack, include, i;
1336
1337 if ( e.stacktrace ) {
1338 // Opera
1339 return e.stacktrace.split( "\n" )[ offset + 3 ];
1340 } else if ( e.stack ) {
1341 // Firefox, Chrome
1342 stack = e.stack.split( "\n" );
1343 if (/^error$/i.test( stack[0] ) ) {
1344 stack.shift();
1345 }
1346 if ( fileName ) {
1347 include = [];
1348 for ( i = offset; i < stack.length; i++ ) {
1349 if ( stack[ i ].indexOf( fileName ) !== -1 ) {
1350 break;
1351 }
1352 include.push( stack[ i ] );
1353 }
1354 if ( include.length ) {
1355 return include.join( "\n" );
1356 }
1357 }
1358 return stack[ offset ];
1359 } else if ( e.sourceURL ) {
1360 // Safari, PhantomJS
1361 // hopefully one day Safari provides actual stacktraces
1362 // exclude useless self-reference for generated Error objects
1363 if ( /qunit.js$/.test( e.sourceURL ) ) {
1364 return;
1365 }
1366 // for actual exceptions, this is useful
1367 return e.sourceURL + ":" + e.line;
1368 }
1369}
1370function sourceFromStacktrace( offset ) {
1371 try {
1372 throw new Error();

Callers 2

qunit.jsFile · 0.85
sourceFromStacktraceFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected