mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-09 21:00:42 +02:00
MozReview-Commit-ID: EMjJ3yWt9Wt --HG-- extra : rebase_source : 2b8327e5a7cf0bfd190d696ad5fe475f13faa3cc
30 lines
1,006 B
JavaScript
30 lines
1,006 B
JavaScript
print("Define some functions in well defined line positions for the test");
|
|
function foo(v) { return bar(v + 1); } // line 2
|
|
function bar(v) { return baz(v + 1); } // line 3
|
|
function baz(v) { throw new Error(v + 1); } // line 4
|
|
|
|
print("Make sure lazy constructor calling/assignment works");
|
|
Components.utils.import("resource://gre/modules/Log.jsm");
|
|
|
|
function run_test() {
|
|
print("Make sure functions, arguments, files are pretty printed in the trace");
|
|
let trace = "";
|
|
try {
|
|
foo(0);
|
|
}
|
|
catch (ex) {
|
|
trace = Log.stackTrace(ex);
|
|
}
|
|
print(`Got trace: ${trace}`);
|
|
do_check_neq(trace, "");
|
|
|
|
let bazPos = trace.indexOf("baz@test_Log_stackTrace.js:4");
|
|
let barPos = trace.indexOf("bar@test_Log_stackTrace.js:3");
|
|
let fooPos = trace.indexOf("foo@test_Log_stackTrace.js:2");
|
|
print(`String positions: ${bazPos} ${barPos} ${fooPos}`);
|
|
|
|
print("Make sure the desired messages show up");
|
|
do_check_true(bazPos >= 0);
|
|
do_check_true(barPos > bazPos);
|
|
do_check_true(fooPos > barPos);
|
|
}
|