blob: b780c0e5318e77f4539da32e161fcb9955505aee [file] [log] [blame]
<!DOCTYPE html>
<!--
Copyright (c) 2014 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/model/power_series.html">
<link rel="import" href="/tracing/ui/analysis/alert_sub_view.html">
<link rel="import" href="/tracing/ui/analysis/multi_power_sample_sub_view.html">
<link rel="import" href="/tracing/ui/base/tab_view.html">
<dom-module id='tr-ui-b-tab-view-test-non-sub-view'>
<template>
<div></div>
</template>
</dom-module>
<script>
'use strict';
var tr_ui_b_tab_view_test_non_sub_view_behavior = {};
Polymer({
is: 'tr-ui-b-tab-view-test-non-sub-view',
behaviors: [tr_ui_b_tab_view_test_non_sub_view_behavior]
});
tr.b.unittest.testSuite(function() {
function createPowerSampleSubView() {
var model = tr.c.TestUtils.newModel(function(m) {
m.device.powerSeries = new tr.model.PowerSeries(m.device);
m.device.vSyncTimestamps = [0];
m.device.powerSeries.addPowerSample(1, 1);
m.device.powerSeries.addPowerSample(2, 2);
m.device.powerSeries.addPowerSample(3, 3);
m.device.powerSeries.addPowerSample(4, 2);
});
var subView = document.createElement('tr-ui-a-multi-power-sample-sub-view');
subView.selection = new tr.model.EventSet(model.device.powerSeries.samples);
subView.tabLabel = 'Power samples';
return subView;
}
function createAlertSubView() {
var slice = tr.c.TestUtils.newSliceEx(
{title: 'b', start: 0, duration: 0.002});
var alertInfo = new tr.model.EventInfo(
'Alert 1', 'Critical alert',
[{
label: 'Example',
textContent: 'Example page',
href: 'http://www.example.com'
}]);
var alert = new tr.model.Alert(alertInfo, 5, [slice]);
var subView = document.createElement('tr-ui-a-alert-sub-view');
subView.selection = new tr.model.EventSet(alert);
subView.tabLabel = 'Alerts';
subView.tabIcon = { text: '\u26A0', style: 'color: red;' };
return subView;
}
test('instantiate_noTabs', function() {
var tabView = document.createElement('tr-ui-b-tab-view');
tabView.label = 'No items selected.';
this.addHTMLOutput(tabView);
});
test('instantiate_oneTab', function() {
var tabView = document.createElement('tr-ui-b-tab-view');
tabView.label = '1 item selected.';
tabView.addSubView(createPowerSampleSubView());
this.addHTMLOutput(tabView);
});
test('instantiate_twoTabs', function() {
var tabView = document.createElement('tr-ui-b-tab-view');
tabView.label = '3 items selected.';
tabView.addSubView(createPowerSampleSubView());
tabView.addSubView(createAlertSubView());
this.addHTMLOutput(tabView);
});
test('clearSubViews_selectedSubViewNullAfter', function() {
var tabView = document.createElement('tr-ui-b-tab-view');
tabView.label = '3 items selected.';
tabView.addSubView(createPowerSampleSubView());
tabView.addSubView(createAlertSubView());
tabView.clearSubViews();
assert.isUndefined(tabView.selectedSubView);
});
});
</script>