| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>Battery Test: no backend implementation, charger unplugged in</title> |
| <meta name="flags" content="interact"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <h2>Description</h2> |
| <p> |
| <strong> |
| This test is only useful on devices that expose the BatteryManager interface, |
| but lack a backend implementation. |
| </strong> |
| </p> |
| <p> |
| This test validates that all of the BatteryManager attributes exist and are set to their default values. |
| </p> |
| |
| <h2>Preconditions</h2> |
| <ol> |
| <li> |
| The implementation is unable to report the battery's charging state, |
| charging time, level or remaining time respectively. |
| </li> |
| <li> |
| The device is unplugged from the charger before this test case is run. |
| </li> |
| </ol> |
| |
| <div id="log"></div> |
| |
| <script> |
| |
| async_test(function (t) { |
| navigator.getBattery().then(function (battery) { |
| t.step(function () { |
| assert_true(battery.charging, 'charging must be set to true'); |
| assert_equals(battery.chargingTime, 0, 'chargingTime must be set to 0'); |
| assert_equals(battery.dischargingTime, Infinity, 'dischargingTime must be set to Infinity'); |
| assert_equals(battery.level, 1.0, 'level must be set to 1.0'); |
| }); |
| t.done(); |
| }, function (error) { |
| t.step(function () { |
| assert_unreached(error.message); |
| }); |
| t.done(); |
| }); |
| }, 'When a BatteryManager object is created, charging must be set to true, ' + |
| 'chargingTime to 0, level to 1.0 and dischargingTime to the value positive ' + |
| 'Infinity, if the implementation is unable to report the battery\'s charging ' + |
| 'state, charging time, level or remaining time respectively.'); |
| |
| </script> |