• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!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
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/model.html">
11<link rel="import" href="/tracing/ui/analysis/selection_summary_table.html">
12<link rel="import" href="/tracing/ui/base/deep_utils.html">
13<link rel="import" href="/tracing/value/unit.html">
14
15<script>
16'use strict';
17
18tr.b.unittest.testSuite(function() {
19  var Model = tr.Model;
20  var EventSet = tr.model.EventSet;
21  var newSliceEx = tr.c.TestUtils.newSliceEx;
22
23  test('noSelection', function() {
24    var summaryTable =
25        document.createElement('tr-ui-a-selection-summary-table');
26    summaryTable.selection = undefined;
27    this.addHTMLOutput(summaryTable);
28
29    var tableEl = tr.b.findDeepElementMatching(
30        summaryTable, 'tr-ui-b-table');
31    assert.equal(tableEl.tableRows[0].value, '<empty>');
32    assert.equal(tableEl.tableRows[1].value, '<empty>');
33  });
34
35  test('emptySelection', function() {
36    var summaryTable =
37        document.createElement('tr-ui-a-selection-summary-table');
38    var selection = new EventSet();
39    summaryTable.selection = selection;
40    this.addHTMLOutput(summaryTable);
41
42    var tableEl = tr.b.findDeepElementMatching(
43        summaryTable, 'tr-ui-b-table');
44    assert.equal(tableEl.tableRows[0].value, '<empty>');
45    assert.equal(tableEl.tableRows[1].value, '<empty>');
46  });
47
48  test('selection', function() {
49    var model = new Model();
50    var thread = model.getOrCreateProcess(1).getOrCreateThread(2);
51    var tsg = thread.sliceGroup;
52
53    tsg.pushSlice(newSliceEx({title: 'a', start: 0, end: 3}));
54    tsg.pushSlice(newSliceEx({title: 'b', start: 1, end: 2}));
55
56    var selection = new EventSet();
57    selection.push(tsg.slices[0]);
58    selection.push(tsg.slices[1]);
59
60    var summaryTable =
61        document.createElement('tr-ui-a-selection-summary-table');
62    summaryTable.selection = selection;
63    this.addHTMLOutput(summaryTable);
64
65    var tableEl = tr.b.findDeepElementMatching(
66        summaryTable, 'tr-ui-b-table');
67    assert.equal(tableEl.tableRows[0].value.value, 0);
68    assert.strictEqual(tableEl.tableRows[0].value.unit,
69        tr.v.Unit.byName.timeStampInMs);
70    assert.equal(tableEl.tableRows[1].value.value, 3);
71    assert.strictEqual(tableEl.tableRows[1].value.unit,
72        tr.v.Unit.byName.timeDurationInMs);
73  });
74});
75</script>
76