зеркало из https://github.com/mozilla/gecko-dev.git
113 строки
3.5 KiB
HTML
113 строки
3.5 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset="utf-8">
|
|
<title>Battery Test: charger unplugging</title>
|
|
<link rel="author" title="Intel" href="http://www.intel.com">
|
|
<link rel="help" href="https://www.w3.org/TR/battery-status/">
|
|
<meta name="flags" content="interact">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<style>
|
|
#note {
|
|
background-color: #fef1b5;
|
|
border: solid 1px #cdab2d;
|
|
padding: 5px;
|
|
margin: 15px;
|
|
display: block;
|
|
}
|
|
</style>
|
|
|
|
<h2>Description</h2>
|
|
<p>
|
|
This test validates that all of the BatteryManager attributes exist and
|
|
are set to correct values, with corresponding events fired,
|
|
when the charger is unplugged.
|
|
</p>
|
|
|
|
<h2>Preconditions</h2>
|
|
<ol>
|
|
<li>
|
|
The device is plugged in to the charger before this test is run.
|
|
</li>
|
|
</ol>
|
|
|
|
<div id="note">
|
|
Unplug the charger and wait for all the tests to complete.
|
|
</div>
|
|
|
|
<div id="log"></div>
|
|
|
|
<script>
|
|
|
|
(function() {
|
|
|
|
setup({ explicit_timeout: true });
|
|
|
|
var onchargingchange_test = async_test(
|
|
'When the device is unplugged in and its charging state is updated, ' +
|
|
'must set the charging attribute\'s value to false and ' +
|
|
'fire a chargingchange event.');
|
|
var onchargingtimechange_test = async_test(
|
|
'When the device is unplugged in and its charging time is updated, ' +
|
|
'must set the chargingTime attribute\'s value to Infinity and ' +
|
|
'fire a chargingtimechange event.');
|
|
var ondischargingtimechange_test = async_test(
|
|
'When the device is unplugged in and its discharging time is updated, ' +
|
|
'must set the dischargingTime attribute\'s value and ' +
|
|
'fire a dischargingtimechange event.');
|
|
var onlevelchange_test = async_test(
|
|
'When the device is unplugged in and the battery level is updated, ' +
|
|
'must set the level attribute\'s value and fire a levelchange event.');
|
|
|
|
var batterySuccess = function (battery) {
|
|
battery.onchargingchange = onchargingchange_test.step_func(function () {
|
|
assert_false(battery.charging, 'The charging attribute must be set to false.');
|
|
onchargingchange_test.done();
|
|
});
|
|
|
|
battery.onchargingtimechange = onchargingtimechange_test.step_func(function () {
|
|
assert_equals(battery.chargingTime, Infinity,
|
|
'The value of the chargingTime attribute must be set to Infinity.');
|
|
onchargingtimechange_test.done();
|
|
});
|
|
|
|
battery.ondischargingtimechange = ondischargingtimechange_test.step_func(function () {
|
|
assert_less_than(battery.dischargingTime, Infinity,
|
|
'The value of the dischargingTime attribute must be set to the remaining discharging time.');
|
|
ondischargingtimechange_test.done();
|
|
});
|
|
|
|
battery.onlevelchange = onlevelchange_test.step_func(function () {
|
|
assert_greater_than(battery.level, 0);
|
|
assert_less_than_equal(battery.level, 1.0);
|
|
onlevelchange_test.done();
|
|
});
|
|
};
|
|
|
|
var batteryFailure = function (error) {
|
|
onchargingchange_test.step(function () {
|
|
assert_unreached(error.message);
|
|
});
|
|
onchargingchange_test.done();
|
|
|
|
onchargingtimechange_test.step(function () {
|
|
assert_unreached(error.message);
|
|
});
|
|
onchargingtimechange_test.done();
|
|
|
|
ondischargingtimechange_test.step(function () {
|
|
assert_unreached(error.message);
|
|
});
|
|
ondischargingtimechange_test.done();
|
|
|
|
onlevelchange_test.step(function () {
|
|
assert_unreached(error.message);
|
|
});
|
|
onlevelchange_test.done();
|
|
};
|
|
|
|
navigator.getBattery().then(batterySuccess, batteryFailure);
|
|
|
|
})();
|
|
|
|
</script>
|