| <!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="/tracing/core/test_utils.html"> |
| <link rel="import" href="/tracing/model/comment_box_annotation.html"> |
| <link rel="import" href="/tracing/model/location.html"> |
| <link rel="import" href="/tracing/model/model.html"> |
| <link rel="import" href="/tracing/model/rect_annotation.html"> |
| <link rel="import" href="/tracing/model/x_marker_annotation.html"> |
| <link rel="import" href="/tracing/ui/timeline_track_view.html"> |
| <link rel="import" href="/tracing/ui/timeline_viewport.html"> |
| |
| <script> |
| 'use strict'; |
| |
| tr.b.unittest.testSuite(function() { |
| |
| function createPopulatedTimeline() { |
| var model = new tr.Model(); |
| var process = model.getOrCreateProcess(1); |
| var thread = process.getOrCreateThread(2); |
| thread.sliceGroup.pushSlice(tr.c.TestUtils.newSliceEx( |
| {title: 'a', start: 80, duration: 50})); |
| |
| var timeline = document.createElement('tr-ui-timeline-track-view'); |
| var vp = new tr.ui.TimelineViewport(timeline); |
| timeline.model = model; |
| timeline.style.maxHeight = '600px'; |
| |
| return timeline; |
| } |
| |
| test('rectAnnotation', function() { |
| var fakeYComponents1 = [{stableId: '1.2', yPercentOffset: 0.3}]; |
| var fakeYComponents2 = [{stableId: '1.2', yPercentOffset: 0.9}]; |
| var start = new tr.model.Location(50, fakeYComponents1); |
| var end = new tr.model.Location(100, fakeYComponents2); |
| var rectAnnotation = new tr.model.RectAnnotation(start, end); |
| |
| var timeline = createPopulatedTimeline(); |
| timeline.model.addAnnotation(rectAnnotation); |
| this.addHTMLOutput(timeline); |
| }); |
| |
| test('xMarkerAnnotation', function() { |
| var xMarkerAnnotation = new tr.model.XMarkerAnnotation(90); |
| |
| var timeline = createPopulatedTimeline(); |
| var model = timeline.model; |
| timeline.model.addAnnotation(xMarkerAnnotation); |
| this.addHTMLOutput(timeline); |
| }); |
| |
| test('commentBoxAnnotation', function() { |
| var fakeYComponents = [{stableId: '1.2', yPercentOffset: 0.5}]; |
| var location = new tr.model.Location(120, fakeYComponents); |
| var text = 'abc'; |
| var commentBoxAnnotation = |
| new tr.model.CommentBoxAnnotation(location, text); |
| |
| var timeline = createPopulatedTimeline(); |
| timeline.model.addAnnotation(commentBoxAnnotation); |
| this.addHTMLOutput(timeline); |
| }); |
| }); |
| </script> |