Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(665)

Side by Side Diff: LayoutTests/presentation/availablechange-event.html

Issue 919953003: Added layout test for |availablechange| event (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Reordered test definitions. Added <title> Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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>
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698