blob: 02acfe6c295b817d46adc5268155ea847f17b7df (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
'use strict';
// These tests rely on the User Agent providing an implementation of
// platform battery status backends.
//
// In Chromium-based browsers this implementation is provided by a polyfill
// in order to reduce the amount of test-only code shipped to users. To enable
// these tests the browser must be run with these options:
//
// --enable-blink-features=MojoJS,MojoJSTest
let mockBatteryMonitor = undefined;
function battery_status_test(func, name, properties) {
promise_test(async t => {
if (mockBatteryMonitor === undefined) {
if (isChromiumBased) {
const mocks =
await import('/resources/chromium/mock-battery-monitor.js');
mockBatteryMonitor = mocks.mockBatteryMonitor;
}
}
assert_implements(
mockBatteryMonitor, 'missing mockBatteryMonitor after initialization');
mockBatteryMonitor.start();
t.add_cleanup(() => {
mockBatteryMonitor.reset();
return mockBatteryMonitor.stop();
});
return func(t, mockBatteryMonitor);
}, name, properties);
}
|