| 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 |