summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/user-timing/user-timing-tojson.html
blob: 6aef7fa904ab958a4c3f8600ea592fac418d0522 (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
<!doctype html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<script>
const keys = [
  'name',
  'entryType',
  'startTime',
  'duration',
];
test(() => {
  performance.mark('a');
  const markEntries = performance.getEntriesByType('mark');
  assert_equals(1, markEntries.length);
  const markEntry = markEntries[0];
  assert_equals(markEntry.entryType, 'mark');
  assert_equals(typeof(markEntry.toJSON), 'function');
  const markJSON = markEntry.toJSON();
  assert_equals(typeof(markJSON), 'object');
  for (const key of keys) {
    assert_equals(markJSON[key], markEntry[key], `PerformanceMark ${key} entry does not match its toJSON value`);
  }
}, 'Test toJSON() in PerformanceMark');

test(() => {
  performance.measure('m');
  const measureEntries = performance.getEntriesByType('measure');
  assert_equals(1, measureEntries.length);
  const measureEntry = measureEntries[0];
  assert_equals(measureEntry.entryType, 'measure');
  assert_equals(typeof(measureEntry.toJSON), 'function');
  const measureJSON = measureEntry.toJSON();
  assert_equals(typeof(measureJSON), 'object');
  for (const key of keys) {
    assert_equals(measureJSON[key], measureEntry[key], `PerformanceMeasure ${key} entry does not match its toJSON value`);
  }
}, 'Test toJSON() in PerformanceMeasure');
</script>
</body>
</html>