// META: script=/resources/test-only-api.js // META: script=resources/pressure-helpers.js // META: global=window,dedicatedworker,sharedworker 'use strict'; pressure_test(async (t, mockPressureService) => { await new Promise(resolve => { const observer = new PressureObserver(resolve); t.add_cleanup(() => observer.disconnect()); observer.observe('cpu', {sampleInterval: 0}); mockPressureService.setPressureUpdate('cpu', 'critical'); mockPressureService.startPlatformCollector(/*sampleInterval=*/ 200); }); }, 'PressureObserver observe method doesnt throw error for sampleInterval value 0'); promise_test(async t => { const observer = new PressureObserver(t.unreached_func('oops should not end up here')); t.add_cleanup(() => observer.disconnect()); await promise_rejects_js( t, TypeError, observer.observe('cpu', {sampleInterval: -2})); }, 'PressureObserver observe method requires a positive sampleInterval'); promise_test(async t => { const observer = new PressureObserver(t.unreached_func('oops should not end up here')); t.add_cleanup(() => observer.disconnect()); await promise_rejects_js( t, TypeError, observer.observe('cpu', {sampleInterval: 2 ** 32})); }, 'PressureObserver observe method requires a sampleInterval in unsigned long range');