blob: 258e61a2ffa0de44ed1be2c8d81401fc7e7ed64e [file] [log] [blame]
Chris Craikb122baf2015-03-05 13:58:42 -08001<!DOCTYPE html>
2<!--
3Copyright (c) 2013 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<link rel="import" href="/base/utils.html">
Chris Craik44c28202015-05-12 17:25:16 -07008<link rel="import" href="/base/event_target.html">
Chris Craikbeca7ae2015-04-07 13:29:55 -07009<link rel="import" href="/base/deep_utils.html">
Chris Craik44c28202015-05-12 17:25:16 -070010<link rel="import" href="/core/selection_controller.html">
Chris Craikb122baf2015-03-05 13:58:42 -080011<link rel="import" href="/core/analysis/analysis_view.html">
12<link rel="import" href="/extras/cc/raster_task_view.html">
13<link rel="import" href="/extras/cc/raster_task_selection.html">
14<link rel="import" href="/extras/cc/layer_tree_host_impl_view.html">
15<link rel="import" href="/extras/importer/trace_event_importer.html">
16<link rel="import" href="/core/trace_model/trace_model.html">
17<script src="/extras/cc/layer_tree_host_impl_test_data.js"></script>
18<script>
19'use strict';
20
21tv.b.unittest.testSuite(function() {
22 function createSelection() {
23 var m = new tv.c.TraceModel(g_catLTHIEvents);
24 var p = m.processes[1];
25 var rasterTasks = p.threads[1].sliceGroup.slices.filter(function(slice) {
26 return slice.title == 'RasterTask' || slice.title == 'AnalyzeTask';
27 });
28
29 var selection = new tv.c.Selection();
Chris Craik44c28202015-05-12 17:25:16 -070030 selection.model = m;
31
Chris Craikb122baf2015-03-05 13:58:42 -080032 selection.push(rasterTasks[0]);
33 selection.push(rasterTasks[1]);
34 return selection;
35 }
36
37 test('basic', function() {
38 var selection = createSelection();
39 var view = new RasterTaskView();
40 view.selection = selection;
41 this.addHTMLOutput(view);
42 });
43
Chris Craik44c28202015-05-12 17:25:16 -070044
Chris Craikb122baf2015-03-05 13:58:42 -080045 test('analysisViewIntegration', function() {
46 var selection = createSelection();
Chris Craik44c28202015-05-12 17:25:16 -070047
48 var timelineView = {model: selection.model};
49 var selectionController = new tv.c.SelectionController(timelineView);
50
51 var analysisEl = document.createElement('tv-c-a-analysis-view');
52 analysisEl.selectionController = selectionController;
53 selectionController.changeSelectionFromTimeline(selection);
54
55 assert.isDefined(analysisEl.querySelector('RasterTaskView'));
Chris Craikbeca7ae2015-04-07 13:29:55 -070056 var sv = tv.b.findDeepElementMatching(
Chris Craik44c28202015-05-12 17:25:16 -070057 analysisEl, 'tv-c-a-multi-thread-slice-sub-view');
Chris Craikbeca7ae2015-04-07 13:29:55 -070058 assert.isTrue(sv.requiresTallView);
Chris Craik44c28202015-05-12 17:25:16 -070059 this.addHTMLOutput(analysisEl);
Chris Craikb122baf2015-03-05 13:58:42 -080060 });
61});
62</script>