71 lines
1.9 KiB
HTML
71 lines
1.9 KiB
HTML
<html>
|
|
<head>
|
|
<style>
|
|
body { white-space: normal; }
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
description('This test exercises the source URL and line number that is embedded in JavaScript exceptions, which is displayed in places like the JavaScript console. It differs from <span style="font-family: monospace;">exception-linenums-in-html-1.html</span> in that it only works if <a href="https://bugs.webkit.org/show_bug.cgi?id=6314">Bugzilla Bug 6314</a> has been fixed.');
|
|
|
|
function exceptionInFunction()
|
|
{
|
|
throw new Error();
|
|
}
|
|
|
|
var e = undefined;
|
|
|
|
try {
|
|
// Raises an exception that gets picked up by KJS_CHECKEXCEPTION
|
|
document.documentElement.innerHTML(foo);
|
|
} catch (exception) {
|
|
e = exception;
|
|
}
|
|
shouldBe("typeof e.sourceURL", '"string"');
|
|
shouldBe("e.line", '23');
|
|
|
|
e = undefined;
|
|
try {
|
|
// Raises an exception that gets picked up by KJS_CHECKEXCEPTIONVALUE
|
|
document.documentElement.appendChild('').prefix = '';
|
|
} catch (exception) {
|
|
e = exception;
|
|
}
|
|
shouldBe("typeof e.sourceURL", '"string"');
|
|
shouldBe("e.line", '33');
|
|
|
|
e = undefined;
|
|
try {
|
|
// Raises an exception that gets picked up by KJS_CHECKEXCEPTIONREFERENCE
|
|
document.documentElement.appendChild('').innerHTML = '';
|
|
} catch (exception) {
|
|
e = exception;
|
|
}
|
|
shouldBe("typeof e.sourceURL", '"string"');
|
|
shouldBe("e.line", '43');
|
|
|
|
e = undefined;
|
|
try {
|
|
// Raises an exception that gets picked up by KJS_CHECKEXCEPTIONLIST
|
|
document.getElementById(1());
|
|
} catch (exception) {
|
|
e = exception;
|
|
}
|
|
shouldBe("typeof e.sourceURL", '"string"');
|
|
shouldBe("e.line", '53');
|
|
|
|
e = undefined;
|
|
// Raises an exception inside a function to check that its line number
|
|
// isn't overwritten in the assignment node.
|
|
try {
|
|
var a = exceptionInFunction();
|
|
} catch (exception) {
|
|
e = exception;
|
|
}
|
|
shouldBe("typeof e.sourceURL", '"string"');
|
|
shouldBe("e.line", '16');
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|