summaryrefslogtreecommitdiffstats
path: root/android_webview/tools/system_webview_shell/test/data/blink-apis/battery-status/battery-callback.html
blob: fd9a2e17ac0637ec3df442aee41896c7853310a1 (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
<!DOCTYPE html>
<html>
  <script src="../../resources/js-test.js"></script>
  <body>
    <script type="text/javascript">
      description("Test Battery Status API callback in WebView");
      window.jsTestIsAsync = true;

      var battery;
      function batteryStatusSuccess(batteryManager) {
        debug('batteryStatusSuccess invoked');
        battery = batteryManager;

        // Validate values
        shouldBeGreaterThanOrEqual('battery.level', '0');
        shouldBeLessThanOrEqual('battery.level', '1');
        // Check that level has at most 2 significant digits
        shouldBeTrue('battery.level.toPrecision(2) == battery.level');
        shouldBeTrue('!battery.charging || battery.dischargingTime === Infinity');
        shouldBeTrue('battery.charging || battery.chargingTime === Infinity');
        finishJSTest();
      }

      function batteryStatusFailure() {
          testFailed("failed to successfully resolve the promise");
          finishJSTest();
      }

      navigator.getBattery().then(batteryStatusSuccess, batteryStatusFailure);
    </script>
  </body>
</html>