summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/resource-timing/status-codes-create-entry.html
blob: cc0cd8ccb88250331186c38554b09ff8515cacee (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
<!doctype html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<img src="resources/status-code.py?status=200">
<img src="resources/status-code.py?status=307">
<img src="resources/status-code.py?status=404">
<img src="resources/status-code.py?status=502">
<script src="resources/status-code.py?status=200&script=1"></script>
<script src="resources/status-code.py?status=307&script=1"></script>
<script src="resources/status-code.py?status=404&script=1"></script>
<script src="resources/status-code.py?status=502&script=1"></script>
<script>
async_test(t => {
  window.addEventListener("load", t.step_func_done(() => {
    const images = document.getElementsByTagName("img");
    for (let img of images) {
      const entries = performance.getEntriesByName(img.src);
      assert_greater_than(entries.length, 0, img.src);
      assert_greater_than(entries[0].duration, 0, img.src);
    }
    const scripts = document.getElementsByTagName("script");
    let noSrcScriptFound = false;
    for (let script of scripts) {
      if (script.src) {
        const entries = performance.getEntriesByName(script.src);
        assert_greater_than(entries.length, 0, script.src);
        assert_greater_than(entries[0].duration, 0, script.src);
      } else {
        // Ignore this script, which has no src value. There should only be one such script.
        assert_false(noSrcScriptFound);
        noSrcScriptFound = true;
      }
    }
  }));
}, "Make sure all status codes are reported");
</script>