blob: a209d4b69f5233a6a107da015a98f9df60478fe1 [file] [log] [blame]
<!DOCTYPE html>
<!--
Copyright (c) 2013 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="/core/test_utils.html">
<link rel="import" href="/ui/timeline_track_view.html">
<link rel="import" href="/model/model.html">
<script>
'use strict';
tr.b.unittest.testSuite(function() {
var Cpu = tr.model.Cpu;
var CpuTrack = tr.ui.tracks.CpuTrack;
var Slice = tr.model.Slice;
var StackFrame = tr.model.StackFrame;
var Sample = tr.model.Sample;
var Thread = tr.model.Thread;
var Viewport = tr.ui.TimelineViewport;
test('basicCpu', function() {
var cpu = new Cpu({}, 7);
cpu.slices = [
new Slice('', 'a', 0, 1, {}, 1),
new Slice('', 'b', 1, 2.1, {}, 4.8)
];
cpu.updateBounds();
var testEl = document.createElement('div');
var viewport = new Viewport(testEl);
var drawingContainer = new tr.ui.tracks.DrawingContainer(viewport);
var track = new CpuTrack(viewport);
drawingContainer.appendChild(track);
track.heading = 'CPU ' + cpu.cpuNumber;
track.cpu = cpu;
var dt = new tr.ui.TimelineDisplayTransform();
dt.xSetWorldBounds(0, 11.1, track.clientWidth);
track.viewport.setDisplayTransformImmediately(dt);
});
test('withSamples', function() {
var model = new tr.Model();
var thread;
var cpu;
model.importTraces([], false, false, function() {
cpu = model.kernel.getOrCreateCpu(1);
thread = model.getOrCreateProcess(1).getOrCreateThread(2);
var fA = model.addStackFrame(new StackFrame(
undefined, 1, 'cat', 'a', 7));
var fAB = model.addStackFrame(new StackFrame(
fA, 2, 'cat', 'b', 7));
var fABC = model.addStackFrame(new StackFrame(
fAB, 3, 'cat', 'c', 7));
var fAD = model.addStackFrame(new StackFrame(
fA, 4, 'cat', 'd', 7));
model.samples.push(new Sample(undefined, thread, 'instructions_retired',
10, fABC, 10));
model.samples.push(new Sample(undefined, thread, 'instructions_retired',
20, fAB, 10));
model.samples.push(new Sample(undefined, thread, 'instructions_retired',
30, fAB, 10));
model.samples.push(new Sample(undefined, thread, 'instructions_retired',
40, fAD, 10));
model.samples.push(new Sample(undefined, thread, 'page_fault',
25, fAB, 10));
model.samples.push(new Sample(undefined, thread, 'page_fault',
35, fAD, 10));
});
var testEl = document.createElement('div');
var viewport = new Viewport(testEl);
var drawingContainer = new tr.ui.tracks.DrawingContainer(viewport);
var track = new CpuTrack(viewport);
drawingContainer.appendChild(track);
track.heading = 'CPU ' + cpu.cpuNumber;
track.cpu = cpu;
var dt = new tr.ui.TimelineDisplayTransform();
dt.xSetWorldBounds(0, 11.1, track.clientWidth);
track.viewport.setDisplayTransformImmediately(dt);
});
});
</script>