blob: a5eef31f9bd3815b509a4484f6fd51376119ab25 [file] [log] [blame]
<!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>