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

Side by Side Diff: third_party/WebKit/LayoutTests/sensor/ambient-light-sensor.html

Issue 2348333002: Revert of [sensors] Ambient light sensor bindings implementation (Closed)
Patch Set: Created 4 years, 3 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 | third_party/WebKit/LayoutTests/sensor/idl-AmbientLightSensor.html » ('j') | 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 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script>
4 <script src="../resources/mojo-helpers.js"></script>
5 <script src="resources/sensor-helpers.js"></script>
6 <script>
7
8 'use strict';
9
10 if (!window.testRunner)
11 debug('This test cannot be run without the TestRunner');
12
13 const kDefaultReadingValue = 3.1415;
14
15 function update_sensor_reading(buffer) {
16 buffer[0] = window.performance.now();
17 buffer[1] = kDefaultReadingValue;
18 }
19
20 sensor_test(sensor => {
21 let ambientLightSensor = new AmbientLightSensor({frequency: 60});
22 ambientLightSensor.start();
23 let testPromise = sensor.mockSensorProvider.getCreatedSensor()
24 .then((mockSensor) => {
25 return new Promise((resolve, reject) => {
26 ambientLightSensor.onstatechange = event => {
27 if (ambientLightSensor.state === 'idle') {
28 resolve(mockSensor);
29 }
30
31 if (ambientLightSensor.state === 'active') {
32 ambientLightSensor.stop();
33 }
34 };
35 ambientLightSensor.onerror = reject;
36 });
37 })
38 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); });
39
40 return testPromise;
41 }, 'Test that sensor can be successfully created if sensor is supported.');
42
43 sensor_test(sensor => {
44 let ambientLightSensor = new AmbientLightSensor();
45 ambientLightSensor.start();
46 let testPromise = sensor.mockSensorProvider.getCreatedSensor()
47 .then((mockSensor) => {
48 return new Promise((resolve, reject) => {
49 ambientLightSensor.onstatechange = event => {
50 if (ambientLightSensor.state === 'idle') {
51 resolve(mockSensor);
52 }
53
54 if (ambientLightSensor.state === 'active') {
55 ambientLightSensor.stop();
56 }
57 };
58
59 ambientLightSensor.onerror = reject;
60 });
61 })
62 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); });
63
64 return testPromise;
65 }, 'Test that sensor can be constructed with default configuration.');
66
67 sensor_test(sensor => {
68 let ambientLightSensor = new AmbientLightSensor({frequency: 60});
69 ambientLightSensor.start();
70
71 let testPromise = sensor.mockSensorProvider.getCreatedSensor()
72 .then(mockSensor => { return mockSensor.addConfigurationCalled(); })
73 .then(mockSensor => {
74 return new Promise((resolve, reject) => {
75 ambientLightSensor.onstatechange = event => {
76 if (ambientLightSensor.state === 'idle') {
77 resolve(mockSensor);
78 }
79
80 if (ambientLightSensor.state === 'active') {
81 ambientLightSensor.stop();
82 }
83 };
84 });
85 })
86 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); });
87
88 return testPromise;
89 }, 'Test that addConfiguration and removeConfiguration is called.');
90
91 sensor_test(sensor => {
92 let ambientLightSensor = new AmbientLightSensor({frequency: 60});
93 ambientLightSensor.start();
94 let testPromise = sensor.mockSensorProvider.getCreatedSensor()
95 .then(mockSensor => {
96 return mockSensor.setUpdateSensorReadingFunction(update_sensor_reading);
97 })
98 .then((mockSensor) => {
99 return new Promise((resolve, reject) => {
100 ambientLightSensor.onstatechange = event => {
101 if (ambientLightSensor.state === 'idle') {
102 resolve(mockSensor);
103 }
104 };
105
106 ambientLightSensor.onchange = e => {
107 assert_equals(e.reading.illuminance, kDefaultReadingValue);
108 ambientLightSensor.stop();
109 };
110
111 ambientLightSensor.onerror = reject;
112 });
113 })
114 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); });
115
116 return testPromise;
117 }, 'Test that onChange is called and sensor reading is valid.');
118
119 sensor_test(sensor => {
120 let ambientLightSensor = new AmbientLightSensor({frequency: 60});
121 ambientLightSensor.start();
122 let testPromise = sensor.mockSensorProvider.getCreatedSensor()
123 .then(mockSensor => {
124 return mockSensor.setUpdateSensorReadingFunction(update_sensor_reading);
125 })
126 .then((mockSensor) => {
127 return new Promise((resolve, reject) => {
128 ambientLightSensor.onstatechange = () => {
129 if (ambientLightSensor.state === 'idle') {
130 assert_equals(ambientLightSensor.reading, null);
131 resolve(mockSensor);
132 }
133 }
134
135 ambientLightSensor.onchange = e => {
136 assert_equals(e.reading.illuminance, kDefaultReadingValue);
137 ambientLightSensor.stop();
138 }
139 ambientLightSensor.onerror = reject;
140 });
141 })
142 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); });
143
144 return testPromise;
145 }, 'Test that sensor reading is not updated when sensor is stopped.');
146
147 sensor_test(sensor => {
148 let ambientLightSensor = new AmbientLightSensor();
149 ambientLightSensor.start();
150 let testPromise = sensor.mockSensorProvider.getCreatedSensor()
151 .then(mockSensor => {
152 return mockSensor.setUpdateSensorReadingFunction(update_sensor_reading);
153 })
154 .then((mockSensor) => {
155 return new Promise((resolve, reject) => {
156 ambientLightSensor.onchange = e => {
157 if (e.reading.illuminance == kDefaultReadingValue) {
158 resolve(mockSensor);
159 }
160 }
161 ambientLightSensor.onerror = reject;
162 });
163 })
164 .then((mockSensor) => {
165 testRunner.setPageVisibility("hidden");
166 return mockSensor.suspendCalled();
167 })
168 .then((mockSensor) => {
169 testRunner.setPageVisibility("visible");
170 return mockSensor.resumeCalled();
171 })
172 .then((mockSensor) => {
173 return new Promise((resolve, reject) => {
174 ambientLightSensor.onstatechange = () => {
175 if (ambientLightSensor.state === 'idle') {
176 resolve(mockSensor);
177 }
178 }
179 ambientLightSensor.stop();
180 ambientLightSensor.onerror = reject;
181 });
182 })
183 .then(mockSensor => { return mockSensor.removeConfigurationCalled(); });
184
185 return testPromise;
186 }, 'Test that sensor receives suspend / resume notifications when page'
187 +' visibility changes.');
188
189 </script>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/sensor/idl-AmbientLightSensor.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698