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