alert_track_test.html revision 4a4f2fe02baf385f6c24fc98c6e17bf6ac5e0724
1<!DOCTYPE html>
2<!--
3Copyright (c) 2015 The Chromium Authors. All rights reserved.
4Use of this source code is governed by a BSD-style license that can be
5found in the LICENSE file.
6-->
7
8<link rel="import" href="/tracing/core/test_utils.html">
9<link rel="import" href="/tracing/model/event_set.html">
10<link rel="import" href="/tracing/model/global_memory_dump.html">
11<link rel="import" href="/tracing/model/selection_state.html">
12<link rel="import" href="/tracing/ui/timeline_viewport.html">
13<link rel="import" href="/tracing/ui/tracks/alert_track.html">
14<link rel="import" href="/tracing/ui/tracks/drawing_container.html">
15
16<script>
17'use strict';
18
19tr.b.unittest.testSuite(function() {
20  var AlertTrack = tr.ui.tracks.AlertTrack;
21  var SelectionState = tr.model.SelectionState;
22  var Viewport = tr.ui.TimelineViewport;
23
24  var ALERT_INFO_1 = new tr.model.EventInfo(
25    'Alert 1', 'One alert');
26  var ALERT_INFO_2 = new tr.model.EventInfo(
27    'Alert 2', 'Another alert');
28
29  var createAlerts = function() {
30    var alerts = [
31      new tr.model.Alert(ALERT_INFO_1, 5),
32      new tr.model.Alert(ALERT_INFO_1, 20),
33      new tr.model.Alert(ALERT_INFO_2, 35),
34      new tr.model.Alert(ALERT_INFO_2, 50)
35    ];
36    return alerts;
37  };
38
39  test('instantiate', function() {
40    var alerts = createAlerts();
41    alerts[1].selectionState = SelectionState.SELECTED;
42
43    var div = document.createElement('div');
44    var viewport = new Viewport(div);
45    var drawingContainer = new tr.ui.tracks.DrawingContainer(viewport);
46    div.appendChild(drawingContainer);
47
48    var track = AlertTrack(viewport);
49    drawingContainer.appendChild(track);
50
51    this.addHTMLOutput(div);
52    drawingContainer.invalidate();
53
54    track.alerts = alerts;
55    var dt = new tr.ui.TimelineDisplayTransform();
56    dt.xSetWorldBounds(0, 50, track.clientWidth);
57    track.viewport.setDisplayTransformImmediately(dt);
58
59
60    assert.equal(5, track.items[0].start);
61  });
62
63  test('modelMapping', function() {
64    var alerts = createAlerts();
65
66    var div = document.createElement('div');
67    var viewport = new Viewport(div);
68    var track = AlertTrack(viewport);
69    track.alerts = alerts;
70
71    var a0 = track.items[0].modelItem;
72    assert.equal(a0, alerts[0]);
73  });
74});
75</script>
76
77