• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE HTML>
2<html>
3<!--
4Copyright (c) 2012 The Chromium Authors. All rights reserved.
5Use of this source code is governed by a BSD-style license that can be
6found in the LICENSE file.
7-->
8<head>
9<title>Slice Selection Analysis Tests</title>
10<script src="/src/base.js"></script>
11</head>
12<body>
13  <script>
14    base.require('unittest');
15    base.require('test_utils');
16    base.require('analysis.slice_selection_analysis');
17    base.require('analysis.test.analysis_test_support');
18  </script>
19  <script>
20    'use strict';
21
22    function testEmptySelection() {
23      var selection = new tracing.Selection();
24      var analysis = new tracing.analysis.SliceSelectionAnalysis();
25      assertThrows(function() {
26        analysis.selection = selection;
27      });
28    }
29
30    function testSliceSelectionAnalysisWithMultipleSlicesSameTitle() {
31      var data = tracing.analysis.test.createReferenceData(true);
32
33      var selection = new tracing.Selection();
34      data.t1track.selectByTitle('b', selection);
35
36      var analysis = new tracing.analysis.SliceSelectionAnalysis();
37      analysis.selection = selection;
38
39      var sliceSelectionEl = analysis;
40      var groupSliceEl = sliceSelectionEl.children[1];
41      var headerEl = sliceSelectionEl.children[0];
42
43      assertEquals(true, sliceSelectionEl instanceof
44          tracing.analysis.SliceSelectionAnalysis);
45      assertEquals(3, sliceSelectionEl.children.length);
46      assertEquals(true, groupSliceEl instanceof
47          tracing.analysis.SliceGroupSelectionAnalysis);
48      assertEquals(1, groupSliceEl.children.length);
49      assertEquals(3, headerEl.children.length);
50    }
51
52
53    function testSliceSelectionAnalysisWithMultipleSlicesSameTitle2() {
54      var data = tracing.analysis.test.createReferenceData(true);
55
56      var selection = new tracing.Selection();
57      data.t1track.selectByTitle('b', selection);
58
59      var analysis = new tracing.analysis.SliceSelectionAnalysis();
60      analysis.selection = selection;
61
62      var sliceSelectionEl = analysis;
63      var headerEl = sliceSelectionEl.children[0];
64      var groupSliceEl = sliceSelectionEl.children[1];
65      var summaryEl = sliceSelectionEl.children[2];
66
67      assertEquals(true,
68          analysis instanceof tracing.analysis.SliceSelectionAnalysis);
69      assertEquals(3, analysis.children.length);
70      assertEquals(3, headerEl.children.length);
71      assertEquals(1, groupSliceEl.children.length);
72      assertEquals(3, summaryEl.children.length);
73    }
74
75    function testSliceSelectionAnalysisWithMultipleSlicesDifferentTitles() {
76      var data = tracing.analysis.test.createReferenceData(true);
77
78      var selection = new tracing.Selection();
79      data.t1track.selectByTitle('b', selection);
80      data.t1track.selectByTitle('c', selection);
81      data.t1track.selectByTitle('d', selection);
82      data.t1track.selectByTitle('e', selection);
83      data.t1track.selectByTitle('Slice with a really, really long name.',
84                                  selection);
85
86      var analysis = new tracing.analysis.SliceSelectionAnalysis();
87      analysis.selection = selection;
88
89      var sliceSelectionEl = analysis;
90      var groupSliceEl = sliceSelectionEl.children[1];
91      var headerEl = sliceSelectionEl.children[0];
92
93      assertEquals(true, sliceSelectionEl instanceof
94          tracing.analysis.SliceSelectionAnalysis);
95      assertEquals(true, groupSliceEl instanceof
96          tracing.analysis.SliceGroupSelectionAnalysis);
97      assertEquals(7, sliceSelectionEl.children.length);
98      assertEquals(1, groupSliceEl.children.length);
99      assertEquals(3, headerEl.children.length);
100    }
101
102  </script>
103</body>
104</html>
105