summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/user-timing/measure-l3.any.js
diff options
context:
space:
mode:
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.js35
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");