diff options
Diffstat (limited to 'testing/web-platform/tests/user-timing/measure-l3.any.js')
-rw-r--r-- | testing/web-platform/tests/user-timing/measure-l3.any.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/testing/web-platform/tests/user-timing/measure-l3.any.js b/testing/web-platform/tests/user-timing/measure-l3.any.js new file mode 100644 index 0000000000..642b55ab63 --- /dev/null +++ b/testing/web-platform/tests/user-timing/measure-l3.any.js @@ -0,0 +1,35 @@ +// META: script=resources/user-timing-helper.js + +function endTime(entry) { + return entry.startTime + entry.duration; +} + +test(function() { + performance.clearMarks(); + performance.clearMeasures(); + const markEntry = performance.mark("mark", {startTime: 123}); + const measureEntry = performance.measure("A", undefined, "mark"); + assert_equals(measureEntry.startTime, 0); + assert_equals(endTime(measureEntry), markEntry.startTime); +}, "When the end mark is given and the start is unprovided, the end time of the measure entry should be the end mark's time, the start time should be 0."); + +test(function() { + performance.clearMarks(); + performance.clearMeasures(); + const markEntry = performance.mark("mark", {startTime: 123}); + const endMin = Number(performance.now().toFixed(2)); + const measureEntry = performance.measure("A", "mark", undefined); + const endMax = Number(performance.now().toFixed(2)); + assert_equals(measureEntry.startTime, markEntry.startTime); + assert_greater_than_equal(Number(endTime(measureEntry).toFixed(2)), endMin); + assert_greater_than_equal(endMax, Number(endTime(measureEntry).toFixed(2))); +}, "When the start mark is given and the end is unprovided, the start time of the measure entry should be the start mark's time, the end should be now."); + +test(function() { + performance.clearMarks(); + performance.clearMeasures(); + const markEntry = performance.mark("mark", {startTime: 123}); + const measureEntry = performance.measure("A", "mark", "mark"); + assert_equals(endTime(measureEntry), markEntry.startTime); + assert_equals(measureEntry.startTime, markEntry.startTime); +}, "When start and end mark are both given, the start time and end time of the measure entry should be the the marks' time, repectively"); |