1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 Copyright (c) 2012 The Chromium Authors. All rights reserved. 5 Use of this source code is governed by a BSD-style license that can be 6 found 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