summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/execution-timing/071.html
blob: 802c4a8ce36394d7a572d23f673918a0329caea2 (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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!DOCTYPE html>
<html><head>
  <title> scheduler: document.write several scripts into IFRAME </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 style="width:1px;height:1px"></iframe>

  <script type="text/javascript">
    var doc = document.getElementsByTagName('iframe')[0].contentDocument;
    doc.open();

    var html = '<html><head><title>test</title></head>'+
              '<script>top.log("inline script #1");'+
              '<\/script>'+
              /* made url unique because Chrome will change
                 order depending on file cached status */
              '<script src="scripts/include-6.js?'+new Date().getTime()+'"><\/script>'+
              '</head>'+
              '<body>'+
              '<div id="foo"></div>'+
              '</body></html>'+
              '<script>top.log("inline script #2");<\/script>';
    log("calling document.write");
    doc.write(html);

    log("calling document.close");
    doc.close();

    var t = async_test()


    function test() {
      if( !window.include6Loaded )return setTimeout(t.step_func(test),200); //  try checking again if external script didn't run yet
      assert_array_equals(eventOrder, ['calling document.write',
          'inline script #1',
          'calling document.close',
          'external script (#foo found? NO)',
          'inline script #2'
        ]);
      t.done();
    }

    onload = t.step_func(test)
  </script>
</head>

</body>
</html>