blob: fe840ffeb16d6f82fa14d85b30d49e83d00827f5 [file] [log] [blame] [edit]
description('Tests that updates to the battery event causes new events to fire.');
var charging = false;
var chargingTime = Number.POSITIVE_INFINITY;
var dischargingTime = 6000;
var level = 0.7;
var battery = navigator.webkitBattery;
function checkBatteryStatus() {
shouldBe("battery.charging", "false");
shouldBe("battery.chargingTime", "Infinity");
shouldBe("battery.dischargingTime", "6000");
shouldBe("battery.level", "0.7");
}
function setBatteryStatus() {
internals.setBatteryStatus(document, 'chargingchange', charging, chargingTime, dischargingTime, level);
}
function firstListener() {
checkBatteryStatus();
battery.removeEventListener('chargingchange', firstListener);
battery.addEventListener('chargingchange', updateListener);
charging = true;
chargingTime = 7000;
dischargingTime = Number.POSITIVE_INFINITY;
level = 0.3;
setBatteryStatus();
}
function updateListener(event) {
shouldBe("battery.charging", "true");
shouldBe("battery.chargingTime", "7000");
shouldBe("battery.dischargingTime", "Infinity");
shouldBe("battery.level", "0.3");
finishJSTest();
}
battery.addEventListener('chargingchange', firstListener);
setBatteryStatus();
window.jsTestIsAsync = true;