1<html xmlns="http://www.w3.org/1999/xhtml">
2<!--
3https://bugzilla.mozilla.org/show_bug.cgi?id=28293
4-->
5<head>
6  <title>Test for Bug 28293</title>
7  <script src="/tests/SimpleTest/SimpleTest.js"></script>
8  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
9  <script>
10scriptInsertedExternalExecuted = false;
11res = 'A';
12
13SimpleTest.waitForExplicitFinish();
14onload = function () {
15
16  res+='2';
17
18  s = document.createElement('script');
19  s.textContent="res+='g';";
20  s.defer = true;
21  document.body.appendChild(s);
22
23  res+='3';
24
25  s = document.createElement('script');
26  s.textContent="res+='i';done()";
27  s.defer = true;
28  document.body.appendChild(s);
29
30  res+='4';
31}
32
33function done() {
34  is(res, "AacBCDEFGeHIJb1M2g3i", "scripts executed in the wrong order");
35  ok(scriptInsertedExternalExecuted, "Dynamic script did not block load");
36  SimpleTest.finish();
37}
38</script>
39</head>
40<body>
41<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=28293">Mozilla Bug 28293</a>
42
43<script defer="defer">
44res += 'a';
45</script>
46<script defer="defer" src="data:text/plain,res+='b'"></script>
47<script defer="defer">
48res += 'c';
49</script>
50<script>
51res += 'B';
52</script>
53<script>
54res += 'C';
55
56s = document.createElement('script');
57s.textContent="res+='D';";
58document.body.appendChild(s);
59
60res += 'E';
61</script>
62<script>
63res += 'F';
64document.addEventListener("DOMContentLoaded", function() {
65  res += '1'
66  s = document.createElement('script');
67  s.src="file_bug28293.sjs?res+='M';";
68  document.body.appendChild(s);
69});
70res += 'G';
71</script>
72<script defer="defer">
73res += 'e';
74</script>
75<script src="file_bug28293.sjs?res+='H';"></script>
76<script>
77<![CDATA[
78res += 'I';
79s = document.createElement('script');
80s.src="file_bug28293.sjs?scriptInsertedExternalExecuted=true;";
81document.body.appendChild(s);
82res += 'J';
83]]>
84</script>
85
86</body>
87</html>
88