'use strict'; promise_test(async t => { const changes1_promise = new Promise((resolve, reject) => { const observer = new PressureObserver(resolve, {sampleRate: 1.0}); t.add_cleanup(() => observer.disconnect()); observer.observe('cpu').catch(reject); }); const changes2_promise = new Promise((resolve, reject) => { const observer = new PressureObserver(resolve, {sampleRate: 1.0}); t.add_cleanup(() => observer.disconnect()); observer.observe('cpu').catch(reject); }); const changes3_promise = new Promise((resolve, reject) => { const observer = new PressureObserver(resolve, {sampleRate: 1.0}); t.add_cleanup(() => observer.disconnect()); observer.observe('cpu').catch(reject); }); const [changes1, changes2, changes3] = await Promise.all([changes1_promise, changes2_promise, changes3_promise]); for (const changes of [changes1, changes2, changes3]) { assert_in_array( changes[0].state, ['nominal', 'fair', 'serious', 'critical'], 'cpu pressure state'); } }, 'Three PressureObserver instances receive changes');