summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/101.html
blob: b868f9a4470505e0dc606eca0209f6b18787e61f (plain)
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
<!DOCTYPE html>
<html><head>
        <title> scheduler: defer script after initial onload event</title>
        <script src="/resources/testharness.js"></script>
        <script src="/resources/testharnessreport.js"></script>
        <script src="testlib/testlib.js"></script>
</head>
<body>

        <div id="log">FAILED (This TC requires JavaScript enabled)</div>
        <iframe id="myFrame"></iframe>

        <script>
          var t = async_test();
          onload = t.step_func(
            function() {
              var doc = document.getElementById("myFrame").contentDocument;
              var win = document.getElementById("myFrame").contentWindow;
              doc.open();
              doc.write("<title> scheduler: defer script after initial onload event</title><script src='testlib/testlib.js'><\/script><div id='log'>document.written content</div><script>log('inline script #1');<\/script><script src='scripts/include-1.js'><\/script><script defer src='scripts/include-2.js'><\/script>");
              doc.close();
              //Note that the *window* object has changed but the *global scope* of the script has not.
              var run_t = window.t.step_func(function() {
                      if (!win.eventOrder || win.eventOrder.length != 3) {
                          window.setTimeout(run_t, 100);
                          return;
                      }
                      window.assert_array_equals(win.eventOrder, ['inline script #1', 'external script #1', 'external script #2']);
                      window.t.done();
                });
                run_t();
            });
        </script>
</body>
</html>