mirror of
https://github.com/tc39/test262.git
synced 2025-05-03 22:40:28 +02:00
* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
36 lines
810 B
JavaScript
36 lines
810 B
JavaScript
//@ runNoJIT
|
|
|
|
function stackTraceDescription(stackFrame) {
|
|
let indexOfAt = stackFrame.indexOf('@')
|
|
let indexOfLastSlash = stackFrame.lastIndexOf('/');
|
|
if (indexOfLastSlash == -1)
|
|
indexOfLastSlash = indexOfAt
|
|
let functionName = stackFrame.substring(0, indexOfAt);
|
|
let fileName = stackFrame.substring(indexOfLastSlash + 1);
|
|
return functionName + " at " + fileName;
|
|
}
|
|
|
|
function foo(j) {
|
|
for (let i = 0; i < 20; i++) {
|
|
i--;
|
|
i++;
|
|
}
|
|
foo(j + 1);
|
|
}
|
|
|
|
let error = null;
|
|
try {
|
|
foo(10);
|
|
} catch(e) {
|
|
error = e;
|
|
}
|
|
|
|
if (!error)
|
|
throw new Error("No exception!");
|
|
|
|
let frame = error.stack.split("\n")[0];
|
|
let description = stackTraceDescription(frame);
|
|
if (description.indexOf(".js:18") < 0)
|
|
throw new Error("Bad location: '" + description + "'");
|
|
|