blob: 51f2fac114ca95f610b24209d87069de6bcb9d1e [file] [log] [blame]
<!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 no garbage collection of battery manager object when listeners are attached.");
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();
function fireLevelChange() {
gc();
setAndFireMockBatteryInfo(false, 10, 20, 0.6);
}
navigator.getBattery().then(function(battery) {
battery.addEventListener('levelchange', function() {
testIfBatteryStatusIsUpToDate(battery);
battery.removeEventListener('levelchange', arguments.callee);
setTimeout(finishJSTest, 0);
});
setTimeout(fireLevelChange, 0);
});
setAndFireMockBatteryInfo(false, 10, 20, 0.5);
</script>
</body>
</html>