blob: 5c26a864b78f2f7ebfe75f5118ae7eebea8c8ad3 [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="/tracing/core/test_utils.html">
<link rel="import" href="/tracing/model/event_set.html">
<link rel="import" href="/tracing/model/model.html">
<link rel="import" href="/tracing/ui/analysis/multi_event_sub_view.html">
<link rel="import" href="/tracing/ui/base/deep_utils.html">
<script>
'use strict';
tr.b.unittest.testSuite(function() {
var Model = tr.Model;
var Thread = tr.model.Thread;
var EventSet = tr.model.EventSet;
var newSliceEx = tr.c.TestUtils.newSliceEx;
var Slice = tr.model.Slice;
test('differentTitles', function() {
var model = new Model();
var t53 = model.getOrCreateProcess(52).getOrCreateThread(53);
t53.sliceGroup.pushSlice(newSliceEx(
{title: 'a', start: 0.0, duration: 0.04}));
t53.sliceGroup.pushSlice(newSliceEx(
{title: 'a', start: 0.12, duration: 0.06}));
t53.sliceGroup.pushSlice(newSliceEx(
{title: 'aa', start: 0.5, duration: 0.5}));
t53.sliceGroup.createSubSlices();
var t53track = {};
t53track.thread = t53;
var selection = new EventSet();
selection.push(t53.sliceGroup.slices[0]);
selection.push(t53.sliceGroup.slices[1]);
selection.push(t53.sliceGroup.slices[2]);
var viewEl = document.createElement('tr-ui-a-multi-event-sub-view');
viewEl.selection = selection;
this.addHTMLOutput(viewEl);
var summaryTableEl = tr.b.findDeepElementMatching(
viewEl, 'tr-ui-a-multi-event-summary-table');
assert.isDefined(summaryTableEl);
assert.isTrue(summaryTableEl.showTotals);
assert.equal(tr.b.dictionaryLength(summaryTableEl.eventsByTitle), 2);
var selectionSummaryTableEl = tr.b.findDeepElementMatching(
viewEl, 'tr-ui-a-selection-summary-table');
assert.isDefined(selectionSummaryTableEl);
assert.equal(selectionSummaryTableEl.selection, selection);
var detailsTableEl = tr.b.findDeepElementMatching(
viewEl, 'tr-ui-a-multi-event-details-table');
assert.isUndefined(detailsTableEl);
});
test('sameTitles', function() {
var model = new Model();
var t53 = model.getOrCreateProcess(52).getOrCreateThread(53);
t53.sliceGroup.pushSlice(newSliceEx(
{title: 'c', start: 0.0, duration: 0.04}));
t53.sliceGroup.pushSlice(newSliceEx(
{title: 'c', start: 0.12, duration: 0.06}));
t53.sliceGroup.createSubSlices();
var t53track = {};
t53track.thread = t53;
var selection = new EventSet();
selection.push(t53.sliceGroup.slices[0]);
selection.push(t53.sliceGroup.slices[1]);
var viewEl = document.createElement('tr-ui-a-multi-event-sub-view');
viewEl.selection = selection;
this.addHTMLOutput(viewEl);
var summaryTableEl = tr.b.findDeepElementMatching(
viewEl, 'tr-ui-a-multi-event-summary-table');
assert.isDefined(summaryTableEl);
assert.isFalse(summaryTableEl.showTotals);
assert.equal(tr.b.dictionaryLength(summaryTableEl.eventsByTitle), 1);
var selectionSummaryTableEl = tr.b.findDeepElementMatching(
viewEl, 'tr-ui-a-selection-summary-table');
assert.isDefined(selectionSummaryTableEl);
assert.equal(selectionSummaryTableEl.selection, selection);
var detailsTableEl = tr.b.findDeepElementMatching(
viewEl, 'tr-ui-a-multi-event-details-table');
assert.isDefined(detailsTableEl);
assert.equal(detailsTableEl.selection, selection);
});
});
</script>