<!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/interfaces/battery_monitor.mojom.js"></script>
<script src="resources/mock-battery-monitor.js"></script>
<script>
description("Test to ensure level is reported with restricted precision.");

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();

var levelFullPrecision = 0.556789;
var levelRounded = 0.56;

var battery;
function batteryStatusSuccess(batteryManager) {
    debug('batteryStatusSuccess invoked');
    battery = batteryManager;
    shouldBe('battery.level', 'levelRounded');
    setTimeout(finishJSTest, 0);
}

navigator.getBattery().then(batteryStatusSuccess, batteryStatusFailure);
setAndFireMockBatteryInfo(false, 10, 20, levelFullPrecision);
</script>
</body>
</html>
