| <!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 newSliceCategory = tr.c.TestUtils.newSliceCategory; |
| 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> |