1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=877072
-->
<head>
<title>Test for Bug 877072</title>
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=877072">Mozilla Bug 877072</a>
<script type="text/javascript">
SimpleTest.waitForExplicitFinish();
var loadEventFired = false;
var errorEventFired = false;
var counter = 0;
function loaded() {
loadEventFired = true;
}
function failed() {
errorEventFired = true;
}
</script>
<link rel="import" href="file_imports_basics.html" id="import1" onload="loaded()" onerror="failed()"></link>
<script type="text/javascript">
ok(importDone, "Script of the imported document runned before this script");
ok(loadEventFired, "Load eventhandler works");
ok(!errorEventFired, "There were no error event fired");
var import1 = document.getElementById("import1").import;
is(import1.getElementById("foo").textContent, "bar",
"import property of link import works");
try{
import1.open();
import1.write("<h1>This should not show up!</h1>");
import1.close();
} catch (e) {
ok(true, "import.open/write should throw");
}
// Let's add dynamically a new link import with the same URI
var link = document.createElement("link");
link.setAttribute("id", "inserted");
link.setAttribute("rel", "import");
link.setAttribute("href", "file_imports_basics.html");
function loaded2() {
ok(true, "Load event is fired for link import that refers to an already loaded import");
is(counter, 1, "Adding another link referring to the same import, does not load it twice");
is(document.getElementById("inserted").import.getElementById("foo").textContent, "bar",
"import property of dynamic link import works");
SimpleTest.finish();
};
link.setAttribute("onload", "loaded2()");
function failed2() {
ok(false, "You should not reach this code");
SimpleTest.finish();
};
link.setAttribute("onerror", "failed2()");
document.body.appendChild(link);
</script>
</body>
</html>
|