diff options
Diffstat (limited to 'devtools/server/tests/browser/browser_perf-allocation-data.js')
-rw-r--r-- | devtools/server/tests/browser/browser_perf-allocation-data.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/devtools/server/tests/browser/browser_perf-allocation-data.js b/devtools/server/tests/browser/browser_perf-allocation-data.js new file mode 100644 index 0000000000..150129cb82 --- /dev/null +++ b/devtools/server/tests/browser/browser_perf-allocation-data.js @@ -0,0 +1,45 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Test that we have allocation data coming from the front. + */ + +"use strict"; + +add_task(async function() { + const target = await addTabTarget(MAIN_DOMAIN + "doc_allocations.html"); + const front = await target.getFront("performance"); + + const rec = await front.startRecording({ + withMarkers: true, + withAllocations: true, + withTicks: true, + }); + + await waitUntil(() => rec.getAllocations().frames.length); + await waitUntil(() => rec.getAllocations().timestamps.length); + await waitUntil(() => rec.getAllocations().sizes.length); + await waitUntil(() => rec.getAllocations().sites.length); + + await front.stopRecording(rec); + + const { timestamps, sizes } = rec.getAllocations(); + + is( + timestamps.length, + sizes.length, + "we have the same amount of timestamps and sizes" + ); + ok( + timestamps.every(time => time > 0 && typeof time === "number"), + "all timestamps have numeric values" + ); + ok( + sizes.every(n => n > 0 && typeof n === "number"), + "all sizes are positive numbers" + ); + + await target.destroy(); + gBrowser.removeCurrentTab(); +}); |