<!DOCTYPE HTML>
<html>
<!--
Copyright (c) 2012 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.
-->
<head>
<title>Slice Selection Analysis Tests</title>
<script src="/src/base.js"></script>
</head>
<body>
<script>
base.require('unittest');
base.require('test_utils');
base.require('analysis.slice_selection_analysis');
base.require('analysis.test.analysis_test_support');
</script>
<script>
'use strict';
function testEmptySelection() {
var selection = new tracing.Selection();
var analysis = new tracing.analysis.SliceSelectionAnalysis();
assertThrows(function() {
analysis.selection = selection;
});
}
function testSliceSelectionAnalysisWithMultipleSlicesSameTitle() {
var data = tracing.analysis.test.createReferenceData(true);
var selection = new tracing.Selection();
data.t1track.selectByTitle('b', selection);
var analysis = new tracing.analysis.SliceSelectionAnalysis();
analysis.selection = selection;
var sliceSelectionEl = analysis;
var groupSliceEl = sliceSelectionEl.children[1];
var headerEl = sliceSelectionEl.children[0];
assertEquals(true, sliceSelectionEl instanceof
tracing.analysis.SliceSelectionAnalysis);
assertEquals(3, sliceSelectionEl.children.length);
assertEquals(true, groupSliceEl instanceof
tracing.analysis.SliceGroupSelectionAnalysis);
assertEquals(1, groupSliceEl.children.length);
assertEquals(3, headerEl.children.length);
}
function testSliceSelectionAnalysisWithMultipleSlicesSameTitle2() {
var data = tracing.analysis.test.createReferenceData(true);
var selection = new tracing.Selection();
data.t1track.selectByTitle('b', selection);
var analysis = new tracing.analysis.SliceSelectionAnalysis();
analysis.selection = selection;
var sliceSelectionEl = analysis;
var headerEl = sliceSelectionEl.children[0];
var groupSliceEl = sliceSelectionEl.children[1];
var summaryEl = sliceSelectionEl.children[2];
assertEquals(true,
analysis instanceof tracing.analysis.SliceSelectionAnalysis);
assertEquals(3, analysis.children.length);
assertEquals(3, headerEl.children.length);
assertEquals(1, groupSliceEl.children.length);
assertEquals(3, summaryEl.children.length);
}
function testSliceSelectionAnalysisWithMultipleSlicesDifferentTitles() {
var data = tracing.analysis.test.createReferenceData(true);
var selection = new tracing.Selection();
data.t1track.selectByTitle('b', selection);
data.t1track.selectByTitle('c', selection);
data.t1track.selectByTitle('d', selection);
data.t1track.selectByTitle('e', selection);
data.t1track.selectByTitle('Slice with a really, really long name.',
selection);
var analysis = new tracing.analysis.SliceSelectionAnalysis();
analysis.selection = selection;
var sliceSelectionEl = analysis;
var groupSliceEl = sliceSelectionEl.children[1];
var headerEl = sliceSelectionEl.children[0];
assertEquals(true, sliceSelectionEl instanceof
tracing.analysis.SliceSelectionAnalysis);
assertEquals(true, groupSliceEl instanceof
tracing.analysis.SliceGroupSelectionAnalysis);
assertEquals(7, sliceSelectionEl.children.length);
assertEquals(1, groupSliceEl.children.length);
assertEquals(3, headerEl.children.length);
}
</script>
</body>
</html>