blob: 574d99ec7c8de7e53fe31751eb7f7d1a207d605b [file] [log] [blame]
<!DOCTYPE html>
<meta charset="utf-8">
<title>Battery test: IDL</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/WebIDLParser.js"></script>
<script src="/resources/idlharness.js"></script>
<script type="text/plain" class="untested">
interface Navigator { };
interface EventTarget {
void addEventListener(DOMString type, EventListener? callback, optional boolean capture);
void removeEventListener(DOMString type, EventListener? callback, optional boolean capture);
boolean dispatchEvent(Event event);
};
[Callback]
interface EventListener {
void handleEvent(Event event);
};
</script>
<script type="text/plain">
partial interface Navigator {
Promise<BatteryManager> getBattery ();
};
interface BatteryManager : EventTarget {
readonly attribute boolean charging;
readonly attribute unrestricted double chargingTime;
readonly attribute unrestricted double dischargingTime;
readonly attribute double level;
attribute EventHandler onchargingchange;
attribute EventHandler onchargingtimechange;
attribute EventHandler ondischargingtimechange;
attribute EventHandler onlevelchange;
};
</script>
<script>
"use strict";
var idl_array = new IdlArray();
var idls;
[].forEach.call(document.querySelectorAll('script[type=text\\/plain]'), function(node) {
// replace 'EventHandler' and 'unrestricted double' unrecognized by idlharness.js
idls = node.textContent.replace(/EventHandler/g, 'Function?').replace(/unrestricted double/g, 'double');
idl_array[(node.className === 'untested') ? 'add_untested_idls' : 'add_idls'](idls);
});
idl_array.add_objects({Navigator: ['navigator'], BatteryManager: ['navigator.getBattery()']});
idl_array.test();
</script>
<h2>Description</h2>
<p>
This test validates the BatteryManager interface IDL.
</p>
<p>
This test uses <a href="/resources/idlharness.js">idlharness.js</a>, and
is complementary to the <a href="battery-interface.html">battery-interface.html</a>
test.
</p>
<div id="log"></div>