OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <html> |
| 3 <head> |
| 4 <title>Tests the Presentation API's availablechange event's expected behavior.
</title> |
| 5 </head> |
| 6 <body> |
| 7 <script src="../resources/testharness.js"></script> |
| 8 <script src="../resources/testharnessreport.js"></script> |
| 9 <script> |
| 10 |
| 11 var becomeAvailableTest = async_test("Test that availablechange event is fired w
hen the screen availability becomes true."); |
| 12 var becomeUnavailableTest = async_test("Test that availablechange event is fired
when the screen availability becomes false."); |
| 13 var noChangeTest = async_test("Test that availablechange event is not fired when
the screen availability does not change."); |
| 14 |
| 15 // Count the number of calls received from the EventHandler set on navigator.pre
sentation.availablechange. |
| 16 var availableChangeEventHandlerCalls = 0; |
| 17 // Count the number of calls received from the listener set with navigator.prese
ntation.addEventListener(). |
| 18 var availableChangeEventListenerCalls = 0; |
| 19 // The last availability value set by the event handler. |
| 20 var availableChangeEventHandlerValue = null; |
| 21 // The last availability value set by the listener. |
| 22 var availableChangeEventListenerValue = null; |
| 23 |
| 24 navigator.presentation.onavailablechange = function(e) { |
| 25 availableChangeEventHandlerCalls++; |
| 26 availableChangeEventHandlerValue = e.available; |
| 27 }; |
| 28 |
| 29 navigator.presentation.addEventListener('availablechange', function(e) { |
| 30 availableChangeEventListenerCalls++; |
| 31 availableChangeEventListenerValue = e.available; |
| 32 }); |
| 33 |
| 34 function runBecomeAvailableTest() { |
| 35 assert_equals(availableChangeEventHandlerValue, null); |
| 36 assert_equals(availableChangeEventListenerValue, null); |
| 37 window.testRunner.setMockScreenAvailability(true); |
| 38 |
| 39 setTimeout(function() { |
| 40 becomeAvailableTest.step(function() { |
| 41 assert_equals(availableChangeEventHandlerValue, true); |
| 42 assert_equals(availableChangeEventListenerValue, true); |
| 43 assert_equals(availableChangeEventHandlerCalls, 1); |
| 44 assert_equals(availableChangeEventListenerCalls, 1); |
| 45 }); |
| 46 becomeAvailableTest.done(); |
| 47 runBecomeUnavailableTest(); |
| 48 }); |
| 49 } |
| 50 |
| 51 function runBecomeUnavailableTest() { |
| 52 assert_equals(availableChangeEventHandlerValue, true); |
| 53 assert_equals(availableChangeEventListenerValue, true); |
| 54 window.testRunner.setMockScreenAvailability(false); |
| 55 |
| 56 setTimeout(function() { |
| 57 becomeUnavailableTest.step(function() { |
| 58 assert_equals(availableChangeEventHandlerValue, false); |
| 59 assert_equals(availableChangeEventListenerValue, false); |
| 60 assert_equals(availableChangeEventHandlerCalls, 2); |
| 61 assert_equals(availableChangeEventListenerCalls, 2); |
| 62 }); |
| 63 becomeUnavailableTest.done(); |
| 64 runNoChangeTest(); |
| 65 }); |
| 66 } |
| 67 |
| 68 function runNoChangeTest() { |
| 69 assert_equals(availableChangeEventHandlerValue, false); |
| 70 assert_equals(availableChangeEventListenerValue, false); |
| 71 window.testRunner.setMockScreenAvailability(false); |
| 72 |
| 73 setTimeout(function() { |
| 74 noChangeTest.step(function() { |
| 75 assert_equals(availableChangeEventHandlerValue, false); |
| 76 assert_equals(availableChangeEventListenerValue, false); |
| 77 assert_equals(availableChangeEventHandlerCalls, 2); |
| 78 assert_equals(availableChangeEventListenerCalls, 2); |
| 79 }); |
| 80 |
| 81 noChangeTest.done(); |
| 82 }); |
| 83 } |
| 84 |
| 85 runBecomeAvailableTest(); |
| 86 |
| 87 </script> |
| 88 </body> |
| 89 </html> |
OLD | NEW |