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>Counter Selection Analysis Tests</title> 10 <script src="/src/base.js"></script> 11 </head> 12 <body> 13 <script> 14 base.require('unittest'); 15 base.require('analysis.counter_selection_analysis'); 16 base.require('analysis.test.analysis_test_support'); 17 </script> 18 <script> 19 'use strict'; 20 21 function testEmptySelection() { 22 var selection = new tracing.Selection(); 23 var analysis = new tracing.analysis.CounterSelectionAnalysis(); 24 assertThrows(function() { 25 analysis.selection = selection; 26 }); 27 } 28 29 function testCounterSelectionAnalysisWithSlice() { 30 var data = tracing.analysis.test.createReferenceData(true); 31 32 var selection = new tracing.Selection(); 33 data.t1track.selectByTitle('b', selection); 34 35 var analysis = new tracing.analysis.CounterSelectionAnalysis(); 36 assertThrows(function() { 37 analysis.selection = selection; 38 }); 39 } 40 41 function testCounterSelectionAnalysisWithOneCounter() { 42 var data = tracing.analysis.test.createReferenceData(true); 43 44 var selection = new tracing.Selection(); 45 selection.addCounterSample(data.ctr1track, data.ctr1track.counter, 0); 46 47 var analysis = new tracing.analysis.CounterSelectionAnalysis(); 48 analysis.selection = selection; 49 50 var counterSelectionEl = analysis; 51 var singleCounterEl = counterSelectionEl.children[1]; 52 53 assertEquals(true, counterSelectionEl instanceof 54 tracing.analysis.CounterSelectionAnalysis); 55 assertEquals(true, singleCounterEl instanceof 56 tracing.analysis.SingleCounterSelectionAnalysis); 57 assertEquals(2, counterSelectionEl.children.length); 58 assertEquals(1, singleCounterEl.children.length); 59 } 60 61 function testSelectionAnalysisWithTwoCounters() { 62 var data = tracing.analysis.test.createReferenceData(true); 63 64 var selection = new tracing.Selection(); 65 selection.addCounterSample(data.ctr1track, data.ctr1track.counter, 0); 66 selection.addCounterSample(data.ctr2track, data.ctr2track.counter, 3); 67 68 var analysis = new tracing.analysis.CounterSelectionAnalysis(); 69 analysis.selection = selection; 70 71 var counterSelectionEl = analysis; 72 var singleCounterEl = counterSelectionEl.children[1]; 73 var singleCounterEl2 = counterSelectionEl.children[2]; 74 75 assertEquals(true, counterSelectionEl instanceof 76 tracing.analysis.CounterSelectionAnalysis); 77 assertEquals(true, singleCounterEl instanceof 78 tracing.analysis.SingleCounterSelectionAnalysis); 79 assertEquals(true, singleCounterEl2 instanceof 80 tracing.analysis.SingleCounterSelectionAnalysis); 81 assertEquals(3, counterSelectionEl.children.length); 82 assertEquals(1, singleCounterEl.children.length); 83 assertEquals(1, singleCounterEl2.children.length); 84 } 85 86 </script> 87 </body> 88 </html> 89