| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../resources/js-test.js"></script> |
| <script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> |
| <script src="file:///gen/services/device/public/mojom/battery_monitor.mojom.js"></script> |
| <script src="resources/mock-battery-monitor.js"></script> |
| <script> |
| description("Test battery status API with multiple promises after resolve."); |
| |
| if (!window.testRunner) |
| debug('This test cannot be run without the TestRunner'); |
| |
| // Clean-up any unused battery manager objects from previous tests. |
| gc(); |
| jsTestIsAsync = true; |
| testRunner.waitUntilDone(); |
| |
| var promise1; |
| |
| function batteryStatusSuccess(battery) { |
| debug('resolution number 1'); |
| testIfBatteryStatusIsUpToDate(battery); |
| |
| promise2 = navigator.getBattery(); |
| promise2.then( |
| function(battery) { |
| debug('resolution number 2'); |
| testIfBatteryStatusIsUpToDate(battery); |
| setTimeout(finishJSTest, 0); |
| }, batteryStatusFailure); |
| shouldBeTrue('promise1 === promise2'); |
| } |
| |
| promise1 = navigator.getBattery(); |
| promise1.then(batteryStatusSuccess, batteryStatusFailure); |
| setAndFireMockBatteryInfo(false, 10, 20, 0.5); |
| </script> |
| </body> |
| </html> |