OLD | NEW |
| (Empty) |
1 description('Tests that adding a new event listener from a callback works as exp
ected.'); | |
2 | |
3 var charging = false; | |
4 var chargingTime = Number.POSITIVE_INFINITY; | |
5 var dischargingTime = 6000; | |
6 var level = 0.7; | |
7 | |
8 var battery = navigator.webkitBattery; | |
9 | |
10 function checkBatteryStatus() { | |
11 shouldBe("battery.charging", "false"); | |
12 shouldBe("battery.chargingTime", "Infinity"); | |
13 shouldBe("battery.dischargingTime", "6000"); | |
14 shouldBe("battery.level", "0.7"); | |
15 } | |
16 | |
17 var firstListenerEvents = 0; | |
18 function firstListener() { | |
19 checkBatteryStatus(); | |
20 if (++firstListenerEvents == 1) { | |
21 battery.addEventListener('chargingchange', secondListener); | |
22 internals.setBatteryStatus(document, 'chargingchange', charging, chargin
gTime, dischargingTime, level); | |
23 } | |
24 else if (firstListenerEvents > 2) | |
25 testFailed('Too many events for first listener.'); | |
26 maybeFinishTest(); | |
27 } | |
28 | |
29 var secondListenerEvents = 0; | |
30 function secondListener() { | |
31 checkBatteryStatus(); | |
32 if (++secondListenerEvents > 1) | |
33 testFailed('Too many events for second listener.'); | |
34 maybeFinishTest(); | |
35 } | |
36 | |
37 function maybeFinishTest() { | |
38 if (firstListenerEvents == 2 && secondListenerEvents == 1) | |
39 finishJSTest(); | |
40 } | |
41 | |
42 battery.addEventListener('chargingchange', firstListener); | |
43 internals.setBatteryStatus(document, 'chargingchange', charging, chargingTime, d
ischargingTime, level); | |
44 window.jsTestIsAsync = true; | |
OLD | NEW |