| <!DOCTYPE html> |
| <!-- |
| Copyright (c) 2015 The Chromium Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <link rel="import" href="/extras/audits/rail_ir_finder.html"> |
| <link rel="import" href="/extras/audits/chrome_test_utils.html"> |
| <link rel="import" href="/extras/importer/trace_event_importer.html"> |
| <link rel="import" href="/core/test_utils.html"> |
| <link rel="import" href="/core/trace_model/trace_model.html"> |
| |
| <script> |
| 'use strict'; |
| |
| tv.b.unittest.testSuite(function() { |
| var audits = tv.e.audits; |
| |
| function newRIRF(customizeModelCallback) { |
| var model = tv.e.audits.newChromeModel(customizeModelCallback); |
| var modelHelper = new tv.e.audits.ChromeModelHelper(model); |
| return new tv.e.audits.RAILIRFinder(model, modelHelper); |
| } |
| |
| test('twoScrollsNoFling', function() { |
| var rirf = newRIRF(function(model) { |
| audits.addGeneralLatencyInfoEvent(model, {start: 0, end: 100}); |
| audits.addGeneralLatencyInfoEvent(model, {start: 16, end: 100}); |
| audits.addGeneralLatencyInfoEvent(model, {start: 32, end: 100}); |
| |
| audits.addGeneralLatencyInfoEvent(model, {start: 300, end: 330}); |
| audits.addGeneralLatencyInfoEvent(model, {start: 316, end: 346}); |
| audits.addGeneralLatencyInfoEvent(model, {start: 332, end: 368}); |
| }); |
| |
| var gestures = rirf.getAllGestures(); |
| assert.equal(gestures.length, 2); |
| |
| assert.equal(gestures[0].expectedStart, 0); |
| assert.equal(gestures[0].expectedEnd, 32); |
| |
| assert.equal(gestures[1].expectedStart, 300); |
| assert.equal(gestures[1].expectedEnd, 332); |
| }); |
| |
| test('flingThatIsntstopped', function() { |
| var rirf = newRIRF(function(model) { |
| audits.addGeneralLatencyInfoEvent(model, {start: 0, end: 100}); |
| audits.addGeneralLatencyInfoEvent(model, {start: 16, end: 100}); |
| audits.addFlingStartLatencyInfoEvent(model, {start: 32, end: 100, |
| flingStart: 38}); |
| audits.addFlingAnimationEvent(model, {start: 38, end: 200}); |
| }); |
| |
| var e60ranges = rirf.getAllExpected60Ranges(); |
| assert.equal(e60ranges.length, 1); |
| |
| var e60r = e60ranges[0]; |
| assert.equal(e60r.expectedStart, 32); |
| assert.equal(e60r.expectedEnd, 200); |
| }); |
| |
| test('flingThatIsStopped', function() { |
| var rirf = newRIRF(function(model) { |
| audits.addGeneralLatencyInfoEvent(model, {start: 0, end: 100}); |
| audits.addGeneralLatencyInfoEvent(model, {start: 16, end: 100}); |
| audits.addFlingStartLatencyInfoEvent(model, {start: 32, end: 100, |
| flingStart: 38}); |
| audits.addFlingAnimationEvent(model, {start: 38, end: 200}); |
| audits.addFlingCancelLatencyInfoEvent(model, {start: 100, end: 150, |
| flingCancel: 105}); |
| |
| }); |
| |
| var e60ranges = rirf.getAllExpected60Ranges(); |
| assert.equal(e60ranges.length, 1); |
| |
| var e60r = e60ranges[0]; |
| assert.equal(e60r.expectedStart, 32); |
| assert.equal(e60r.expectedEnd, 100); |
| }); |
| |
| }); |
| </script> |