OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <!-- | 2 <!-- |
3 Copyright 2016 The Chromium Authors. All rights reserved. | 3 Copyright 2016 The Chromium Authors. All rights reserved. |
4 Use of this source code is governed by a BSD-style license that can be | 4 Use of this source code is governed by a BSD-style license that can be |
5 found in the LICENSE file. | 5 found in the LICENSE file. |
6 --> | 6 --> |
7 | 7 |
8 <link rel="import" href="/tracing/base/assert_utils.html"> | 8 <link rel="import" href="/tracing/base/assert_utils.html"> |
9 <link rel="import" href="/tracing/core/test_utils.html"> | 9 <link rel="import" href="/tracing/core/test_utils.html"> |
10 <link rel="import" href="/tracing/extras/chrome/estimated_input_latency.html"> | 10 <link rel="import" href="/tracing/extras/chrome/estimated_input_latency.html"> |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 assert.deepEqual(interactiveTimestampsMap.get(5), [7000, 12000]); | 171 assert.deepEqual(interactiveTimestampsMap.get(5), [7000, 12000]); |
172 }); | 172 }); |
173 | 173 |
174 test('singlePostInteractiveWindow', () => { | 174 test('singlePostInteractiveWindow', () => { |
175 var interactiveTimestamps = [50]; | 175 var interactiveTimestamps = [50]; |
176 var navStartTimestamps = [0]; | 176 var navStartTimestamps = [0]; |
177 var traceEndTimestamp = [100]; | 177 var traceEndTimestamp = [100]; |
178 var windows = getPostInteractiveTaskWindows( | 178 var windows = getPostInteractiveTaskWindows( |
179 interactiveTimestamps, navStartTimestamps, traceEndTimestamp); | 179 interactiveTimestamps, navStartTimestamps, traceEndTimestamp); |
180 assert.equal(windows.length, 1); | 180 assert.equal(windows.length, 1); |
181 assertRangeEquals(windows[0], tr.b.Range.fromExplicitRange(50, 100)); | 181 assertRangeEquals(windows[0], tr.b.math.Range.fromExplicitRange(50, 100)); |
182 }); | 182 }); |
183 | 183 |
184 test('multiplePostInteractiveWindows', () => { | 184 test('multiplePostInteractiveWindows', () => { |
185 var interactiveTimestamps = [50, 80]; | 185 var interactiveTimestamps = [50, 80]; |
186 var navStartTimestamps = [0, 70]; | 186 var navStartTimestamps = [0, 70]; |
187 var traceEndTimestamp = [100]; | 187 var traceEndTimestamp = [100]; |
188 var windows = getPostInteractiveTaskWindows( | 188 var windows = getPostInteractiveTaskWindows( |
189 interactiveTimestamps, navStartTimestamps, traceEndTimestamp); | 189 interactiveTimestamps, navStartTimestamps, traceEndTimestamp); |
190 assert.equal(windows.length, 2); | 190 assert.equal(windows.length, 2); |
191 assertRangeEquals(windows[0], tr.b.Range.fromExplicitRange(50, 70)); | 191 assertRangeEquals(windows[0], tr.b.math.Range.fromExplicitRange(50, 70)); |
192 assertRangeEquals(windows[1], tr.b.Range.fromExplicitRange(80, 100)); | 192 assertRangeEquals(windows[1], tr.b.math.Range.fromExplicitRange(80, 100)); |
193 }); | 193 }); |
194 | 194 |
195 test('postInteractiveWindowWithOneNavigationNeverReachingInteractive', () => { | 195 test('postInteractiveWindowWithOneNavigationNeverReachingInteractive', () => { |
196 var interactiveTimestamps = [50, 90]; | 196 var interactiveTimestamps = [50, 90]; |
197 var navStartTimestamps = [0, 60, 70]; | 197 var navStartTimestamps = [0, 60, 70]; |
198 var traceEndTimestamp = [100]; | 198 var traceEndTimestamp = [100]; |
199 var windows = getPostInteractiveTaskWindows( | 199 var windows = getPostInteractiveTaskWindows( |
200 interactiveTimestamps, navStartTimestamps, traceEndTimestamp); | 200 interactiveTimestamps, navStartTimestamps, traceEndTimestamp); |
201 assert.equal(windows.length, 2); | 201 assert.equal(windows.length, 2); |
202 assertRangeEquals(windows[0], tr.b.Range.fromExplicitRange(50, 60)); | 202 assertRangeEquals(windows[0], tr.b.math.Range.fromExplicitRange(50, 60)); |
203 assertRangeEquals(windows[1], tr.b.Range.fromExplicitRange(90, 100)); | 203 assertRangeEquals(windows[1], tr.b.math.Range.fromExplicitRange(90, 100)); |
204 }); | 204 }); |
205 | 205 |
206 test('twoInteractiveTimeStampsWithNoNavStartInBetween', () => { | 206 test('twoInteractiveTimeStampsWithNoNavStartInBetween', () => { |
207 var interactiveTimestamps = [50, 75]; | 207 var interactiveTimestamps = [50, 75]; |
208 var navStartTimestamps = [0]; | 208 var navStartTimestamps = [0]; |
209 var traceEndTimestamp = [100]; | 209 var traceEndTimestamp = [100]; |
210 assert.throws(() => getPostInteractiveTaskWindows( | 210 assert.throws(() => getPostInteractiveTaskWindows( |
211 interactiveTimestamps, navStartTimestamps, traceEndTimestamp)); | 211 interactiveTimestamps, navStartTimestamps, traceEndTimestamp)); |
212 }); | 212 }); |
213 | 213 |
214 test('expectedQueueingTime_noTasks', () => { | 214 test('expectedQueueingTime_noTasks', () => { |
215 var window = tr.b.Range.fromExplicitRange(0, 1000); | 215 var window = tr.b.math.Range.fromExplicitRange(0, 1000); |
216 assert.closeTo(0, expectedQueueingTime(window, []), 1e-6); | 216 assert.closeTo(0, expectedQueueingTime(window, []), 1e-6); |
217 }); | 217 }); |
218 | 218 |
219 test('expectedQueueingTime_singleTask', () => { | 219 test('expectedQueueingTime_singleTask', () => { |
220 var window = tr.b.Range.fromExplicitRange(0, 1000); | 220 var window = tr.b.math.Range.fromExplicitRange(0, 1000); |
221 assert.closeTo(1000 / 2, | 221 assert.closeTo(1000 / 2, |
222 expectedQueueingTime(window, [{start: 0, end: 1000}]), | 222 expectedQueueingTime(window, [{start: 0, end: 1000}]), |
223 1e-6); | 223 1e-6); |
224 }); | 224 }); |
225 | 225 |
226 test('expectedQueueingTime_singleTaskStartingBeforeWindow', () => { | 226 test('expectedQueueingTime_singleTaskStartingBeforeWindow', () => { |
227 var window = tr.b.Range.fromExplicitRange(0, 1000); | 227 var window = tr.b.math.Range.fromExplicitRange(0, 1000); |
228 assert.closeTo(1000 / 2, | 228 assert.closeTo(1000 / 2, |
229 expectedQueueingTime(window, [{start: -1, end: 1000}]), | 229 expectedQueueingTime(window, [{start: -1, end: 1000}]), |
230 1e-6); | 230 1e-6); |
231 }); | 231 }); |
232 | 232 |
233 test('expectedQueueingTime_singleTaskEndingAfterWindow', () => { | 233 test('expectedQueueingTime_singleTaskEndingAfterWindow', () => { |
234 var window = tr.b.Range.fromExplicitRange(0, 1000); | 234 var window = tr.b.math.Range.fromExplicitRange(0, 1000); |
235 assert.closeTo(1500, | 235 assert.closeTo(1500, |
236 expectedQueueingTime(window, [{start: 0, end: 2000}]), | 236 expectedQueueingTime(window, [{start: 0, end: 2000}]), |
237 1e-6); | 237 1e-6); |
238 }); | 238 }); |
239 | 239 |
240 test('expectedQueueingTime_singleTaskInsideWindow', () => { | 240 test('expectedQueueingTime_singleTaskInsideWindow', () => { |
241 var window = tr.b.Range.fromExplicitRange(0, 1000); | 241 var window = tr.b.math.Range.fromExplicitRange(0, 1000); |
242 assert.closeTo(10 / 1000 * 10 / 2, | 242 assert.closeTo(10 / 1000 * 10 / 2, |
243 expectedQueueingTime(window, [{start: 500, end: 510}]), | 243 expectedQueueingTime(window, [{start: 500, end: 510}]), |
244 1e-6); | 244 1e-6); |
245 }); | 245 }); |
246 | 246 |
247 test('expectedQueueingTime_twoTasksInsideWindow', () => { | 247 test('expectedQueueingTime_twoTasksInsideWindow', () => { |
248 var window = tr.b.Range.fromExplicitRange(0, 1000); | 248 var window = tr.b.math.Range.fromExplicitRange(0, 1000); |
249 assert.closeTo(10 / 1000 * 10 / 2 + 100 / 1000 * 100 / 2, | 249 assert.closeTo(10 / 1000 * 10 / 2 + 100 / 1000 * 100 / 2, |
250 expectedQueueingTime(window, | 250 expectedQueueingTime(window, |
251 [{start: 500, end: 510}, {start: 600, end: 700}]), | 251 [{start: 500, end: 510}, {start: 600, end: 700}]), |
252 1e-6); | 252 1e-6); |
253 }); | 253 }); |
254 | 254 |
255 test('expectedQueueingTime_twoTasksPartiallyInsideWindow', () => { | 255 test('expectedQueueingTime_twoTasksPartiallyInsideWindow', () => { |
256 var window = tr.b.Range.fromExplicitRange(0, 1000); | 256 var window = tr.b.math.Range.fromExplicitRange(0, 1000); |
257 assert.closeTo(10 / 1000 * 10 / 2 + 100 / 1000 * (100 + 200) / 2, | 257 assert.closeTo(10 / 1000 * 10 / 2 + 100 / 1000 * (100 + 200) / 2, |
258 expectedQueueingTime(window, | 258 expectedQueueingTime(window, |
259 [{start: 500, end: 510}, {start: 900, end: 1100}]), | 259 [{start: 500, end: 510}, {start: 900, end: 1100}]), |
260 1e-6); | 260 1e-6); |
261 }); | 261 }); |
262 | 262 |
263 test('weightedExpectedQueueingTime', () => { | 263 test('weightedExpectedQueueingTime', () => { |
264 var window = tr.b.Range.fromExplicitRange(0, 1000); | 264 var window = tr.b.math.Range.fromExplicitRange(0, 1000); |
265 assert.closeTo(1000 / 2 * 0.7, | 265 assert.closeTo(1000 / 2 * 0.7, |
266 weightedExpectedQueueingTime(window, | 266 weightedExpectedQueueingTime(window, |
267 [{start: 0, end: 1000, weight: 0.7}]), | 267 [{start: 0, end: 1000, weight: 0.7}]), |
268 1e-6); | 268 1e-6); |
269 }); | 269 }); |
270 | 270 |
271 test('maxExpectedQueueingTimeInSlidingWindow_taskOutsideRange', () => { | 271 test('maxExpectedQueueingTimeInSlidingWindow_taskOutsideRange', () => { |
272 assert.closeTo(0, | 272 assert.closeTo(0, |
273 maxExpectedQueueingTimeInSlidingWindow(0, 1000, 100, | 273 maxExpectedQueueingTimeInSlidingWindow(0, 1000, 100, |
274 [{start: 2000, end: 3000}]), | 274 [{start: 2000, end: 3000}]), |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 | 374 |
375 test('maxExpectedQueueingTimeInSlidingWindow_largeOverlapThrows', () => { | 375 test('maxExpectedQueueingTimeInSlidingWindow_largeOverlapThrows', () => { |
376 // Overlap larger than 1e-3 should trigger exception. | 376 // Overlap larger than 1e-3 should trigger exception. |
377 assert.throws(() => maxExpectedQueueingTimeInSlidingWindow(0, 100, 10, | 377 assert.throws(() => maxExpectedQueueingTimeInSlidingWindow(0, 100, 10, |
378 [{start: 0, end: 100.0011}, {start: 100.0, end: 101}]), | 378 [{start: 0, end: 100.0011}, {start: 100.0, end: 101}]), |
379 'Tasks must not overlap' | 379 'Tasks must not overlap' |
380 ); | 380 ); |
381 }); | 381 }); |
382 }); | 382 }); |
383 </script> | 383 </script> |
OLD | NEW |