Home | History | Annotate | Download | only in analysis
      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