|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
<html>
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
https://bugzilla.mozilla.org/show_bug.cgi?id=696301
|
|
Packit |
f0b94e |
-->
|
|
Packit |
f0b94e |
<head>
|
|
Packit |
f0b94e |
<meta charset="utf-8">
|
|
Packit |
f0b94e |
<title>Test for Bug 696301</title>
|
|
Packit |
f0b94e |
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
Packit |
f0b94e |
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
Packit |
f0b94e |
</head>
|
|
Packit |
f0b94e |
<body>
|
|
Packit |
f0b94e |
Mozilla Bug 696301
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
<script type="application/javascript">
|
|
Packit |
f0b94e |
var errorFired = false;
|
|
Packit |
f0b94e |
var global = "";
|
|
Packit |
f0b94e |
window.onerror = function(message, uri, line) {
|
|
Packit |
f0b94e |
is(message, "Script error.", "Should have empty error message");
|
|
Packit |
f0b94e |
is(uri,
|
|
Packit |
f0b94e |
"http://example.com/tests/dom/base/test/bug696301-script-1.js",
|
|
Packit |
f0b94e |
"Should have correct script URI");
|
|
Packit |
f0b94e |
is(line, 0, "Shouldn't have a line here");
|
|
Packit |
f0b94e |
errorFired = true;
|
|
Packit |
f0b94e |
}
|
|
Packit |
f0b94e |
</script>
|
|
Packit |
f0b94e |
<script src="http://example.com/tests/dom/base/test/bug696301-script-1.js"></script>
|
|
Packit |
f0b94e |
<script>
|
|
Packit |
f0b94e |
is(errorFired, true, "Should have error in different origin script");
|
|
Packit |
f0b94e |
is(global, "ran", "Different origin script should have run");
|
|
Packit |
f0b94e |
</script>
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
<script type="application/javascript">
|
|
Packit |
f0b94e |
errorFired = false;
|
|
Packit |
f0b94e |
global = "";
|
|
Packit |
f0b94e |
window.onerror = function(message, uri, line) {
|
|
Packit |
f0b94e |
is(message, "ReferenceError: c is not defined", "Should have correct error message");
|
|
Packit |
f0b94e |
is(uri,
|
|
Packit |
f0b94e |
"http://example.com/tests/dom/base/test/bug696301-script-1.js",
|
|
Packit |
f0b94e |
"Should also have correct script URI");
|
|
Packit |
f0b94e |
is(line, 3, "Should have a line here");
|
|
Packit |
f0b94e |
errorFired = true;
|
|
Packit |
f0b94e |
}
|
|
Packit |
f0b94e |
</script>
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
crossorigin></script>
|
|
Packit |
f0b94e |
<script>
|
|
Packit |
f0b94e |
is(errorFired, true, "Should have error in different origin script with CORS");
|
|
Packit |
f0b94e |
is(global, "ran", "Different origin script with CORS should have run");
|
|
Packit |
f0b94e |
</script>
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
<script type="application/javascript">
|
|
Packit |
f0b94e |
errorFired = false;
|
|
Packit |
f0b94e |
global = "";
|
|
Packit |
f0b94e |
window.addEventListener("error", function(e) {
|
|
Packit |
f0b94e |
is(Object.getPrototypeOf(e), Event.prototype,
|
|
Packit |
f0b94e |
"Object prototype should be Event");
|
|
Packit |
f0b94e |
var externalScripts = document.querySelectorAll("script[src]");
|
|
Packit |
f0b94e |
is(e.target, externalScripts[externalScripts.length - 1],
|
|
Packit |
f0b94e |
"Event's target should be the right <script>");
|
|
Packit |
f0b94e |
errorFired = true;
|
|
Packit |
f0b94e |
}, true);
|
|
Packit |
f0b94e |
</script>
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
crossorigin></script>
|
|
Packit |
f0b94e |
<script>
|
|
Packit |
f0b94e |
is(errorFired, true,
|
|
Packit |
f0b94e |
"Should have error when different origin script fails CORS check");
|
|
Packit |
f0b94e |
is(global, "", "Different origin script that fails CORS should not have run");
|
|
Packit |
f0b94e |
</script>
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
|
|
Packit |
f0b94e |
</body>
|
|
Packit |
f0b94e |
</html>
|