summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/server-timing/resources/navigation-timing.html
blob: e6b1ba4866025742f8171769093d5cfe854a1da1 (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
<!DOCTYPE html>
<head>
    <meta charset='utf-8' />
    <script>
      const server_timing = performance.getEntriesByType('navigation')[0].serverTiming;
      const compare_entry = (entry, expected) => {
        if (!entry) {
          return false;
        }
        const keys = Object.keys(expected);
        for (key of keys) {
          if (entry[key] != expected[key]) {
            return false;
          }
        }
        return true;
      };

      if (!compare_entry(server_timing[0], {
            duration: 1.1,
            name: 'metric1',
            description: 'document',
          }) ||
          !compare_entry(server_timing[1], {
            duration: 1.2,
            name: 'metric1',
            description: 'document',
          })) {
        parent.postMessage("FAIL", "*");
      }
      parent.postMessage( "PASS", "*");
    </script>
    <!-- The script above should not go beyond 800 bytes, or it will be trickled, defeating the test -->
</head>
<body>
  <!-- This comment is here to make sure the document body is larger than 800 bytes, so will be trickled down -->
</body>
</html>