1 description('Tests that adding a new event listener from a callback works as expected.');
6 var connection = navigator.webkitConnection;
8 function checkNetworkInformation() {
9 shouldBe("typeof connection.bandwidth", '"number"');
10 shouldBe("typeof connection.metered", '"boolean"');
13 var firstListenerEvents = 0;
14 function firstListener() {
15 checkNetworkInformation();
16 if (++firstListenerEvents == 1) {
17 connection.addEventListener('webkitnetworkinfochange', secondListener);
18 internals.setNetworkInformation(document, 'webkitnetworkinfochange', bandwidth, metered);
20 else if (firstListenerEvents > 2)
21 testFailed('Too many events for first listener.');
25 var secondListenerEvents = 0;
26 function secondListener() {
27 checkNetworkInformation();
28 if (++secondListenerEvents > 1)
29 testFailed('Too many events for second listener.');
33 function maybeFinishTest() {
34 if (firstListenerEvents == 2 && secondListenerEvents == 1)
38 connection.addEventListener('webkitnetworkinfochange', firstListener);
39 internals.setNetworkInformation(document, 'webkitnetworkinfochange', bandwidth, metered);
41 window.jsTestIsAsync = true;