166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// Copyright (c) 2013 The Chromium Authors. All rights reserved.
266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// Use of this source code is governed by a BSD-style license that can be
366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// found in the LICENSE file.
466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis'use strict';
666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('tracing.test_utils');
866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('tracing.timeline_track_view');
966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('tracing.trace_model');
1066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
1166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.unittest.testSuite('tracing.tracks.cpu_track', function() {
1266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis  var Cpu = tracing.trace_model.Cpu;
1366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis  var CpuTrack = tracing.tracks.CpuTrack;
1466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis  var Slice = tracing.trace_model.Slice;
1566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis  var Viewport = tracing.TimelineViewport;
1666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
1766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis  test('basicCpu', function() {
1866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var testEl = document.createElement('div');
1966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
2066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var cpu = new Cpu(7);
2166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    cpu.slices = [
2266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis      new Slice('', 'a', 0, 1, {}, 1),
2366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis      new Slice('', 'b', 1, 2.1, {}, 4.8)
2466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    ];
2566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    cpu.updateBounds();
2666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
2766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var viewport = new Viewport(testEl);
2866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
2966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var drawingContainer = new tracing.tracks.DrawingContainer(viewport);
3066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
3166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var track = CpuTrack(viewport);
3266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    drawingContainer.appendChild(track);
3366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
3466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    track.heading = 'CPU ' + cpu.cpuNumber;
3566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    track.cpu = cpu;
3666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    track.viewport.xSetWorldBounds(0, 11.1, track.clientWidth);
3766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis  });
3866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis});
39