diff options
Diffstat (limited to 'testing/web-platform/tests/measure-memory/randomized-breakdown.https.window.js')
-rw-r--r-- | testing/web-platform/tests/measure-memory/randomized-breakdown.https.window.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/testing/web-platform/tests/measure-memory/randomized-breakdown.https.window.js b/testing/web-platform/tests/measure-memory/randomized-breakdown.https.window.js new file mode 100644 index 0000000000..09937d5115 --- /dev/null +++ b/testing/web-platform/tests/measure-memory/randomized-breakdown.https.window.js @@ -0,0 +1,27 @@ +// META: script=/common/get-host-info.sub.js +// META: script=./resources/checker.js +// META: script=./resources/common.js +// META: timeout=long +'use strict'; + +function indexOfEmptyEntry(result) { + return result.breakdown.findIndex(isEmptyBreakdownEntry); +} + +promise_test(async testCase => { + assert_true(self.crossOriginIsolated); + + const initial = await performance.measureUserAgentSpecificMemory(); + let observed_different_order = false; + for (let i = 0; i < 100; ++i) { + const current = await performance.measureUserAgentSpecificMemory(); + if (indexOfEmptyEntry(initial) != indexOfEmptyEntry(current)) { + observed_different_order = true; + } + } + // The order of the breakdown entries must be randomized. + // A conforming implementation may fail the following assert with + // the probability of at most 2^-100 since there are at least two + // entries in the breakdown. + assert_true(observed_different_order); +}, 'Well-formed result of performance.measureUserAgentSpecificMemory.'); |