| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <!-- | 2 <!-- |
| 3 Copyright (c) 2013 The Chromium Authors. All rights reserved. | 3 Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 4 Use of this source code is governed by a BSD-style license that can be | 4 Use of this source code is governed by a BSD-style license that can be |
| 5 found in the LICENSE file. | 5 found in the LICENSE file. |
| 6 --> | 6 --> |
| 7 | 7 |
| 8 <link rel="import" href="/tracing/core/test_utils.html"> | 8 <link rel="import" href="/tracing/core/test_utils.html"> |
| 9 <link rel="import" href="/tracing/model/counter.html"> | 9 <link rel="import" href="/tracing/model/counter.html"> |
| 10 <link rel="import" href="/tracing/model/counter_sample.html"> | 10 <link rel="import" href="/tracing/model/counter_sample.html"> |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 record2.associatedEvents.push(slice1); | 67 record2.associatedEvents.push(slice1); |
| 68 | 68 |
| 69 // Set up the analysis views and brushing state controller. | 69 // Set up the analysis views and brushing state controller. |
| 70 var analysisView = document.createElement('tr-ui-a-analysis-view'); | 70 var analysisView = document.createElement('tr-ui-a-analysis-view'); |
| 71 this.addHTMLOutput(analysisView); | 71 this.addHTMLOutput(analysisView); |
| 72 var tabView = analysisView.tabView; | 72 var tabView = analysisView.tabView; |
| 73 var controller = new BrushingStateController(undefined); | 73 var controller = new BrushingStateController(undefined); |
| 74 analysisView.brushingStateController = controller; | 74 analysisView.brushingStateController = controller; |
| 75 | 75 |
| 76 function checkSelectedTab(expectedSelectedTab, expectedRelatedEvents) { | 76 function checkSelectedTab(expectedSelectedTab, expectedRelatedEvents) { |
| 77 assert.strictEqual(tabView.selectedTab, expectedSelectedTab); | 77 assert.strictEqual(tabView.selectedSubView, expectedSelectedTab); |
| 78 assertEventSet(controller.currentBrushingState.analysisViewRelatedEvents, | 78 assertEventSet(controller.currentBrushingState.analysisViewRelatedEvents, |
| 79 expectedRelatedEvents); | 79 expectedRelatedEvents); |
| 80 } | 80 } |
| 81 | 81 |
| 82 // 1. Empty selection (implicit). | 82 // 1. Empty selection (implicit). |
| 83 assert.lengthOf(tabView.tabs, 0); | 83 assert.lengthOf(tabView.tabs, 0); |
| 84 checkSelectedTab(undefined, []); | 84 checkSelectedTab(undefined, []); |
| 85 | 85 |
| 86 // 2. Event selection: two samples and one thread slice. | 86 // 2. Event selection: two samples and one thread slice. |
| 87 controller.changeSelectionFromRequestSelectionChangeEvent( | 87 controller.changeSelectionFromRequestSelectionChangeEvent( |
| 88 new EventSet([sample1, slice1, sample2])); | 88 new EventSet([sample1, slice1, sample2])); |
| 89 assert.lengthOf(tabView.tabs, 2); | 89 assert.lengthOf(tabView.tabs, 2); |
| 90 var sampleTab2 = tabView.tabs[0]; | 90 var sampleTab2 = tabView.tabs[0]; |
| 91 checkTab(sampleTab2, | 91 checkTab(sampleTab2, |
| 92 'tr-ui-a-counter-sample-sub-view', | 92 'tr-ui-a-counter-sample-sub-view', |
| 93 [sample1, sample2]); | 93 [sample1, sample2]); |
| 94 var singleThreadSliceTab2 = tabView.tabs[1]; | 94 var singleThreadSliceTab2 = tabView.tabs[1]; |
| 95 checkTab(singleThreadSliceTab2, | 95 checkTab(singleThreadSliceTab2, |
| 96 'tr-ui-a-single-thread-time-slice-sub-view', | 96 'tr-ui-a-single-thread-time-slice-sub-view', |
| 97 [slice1]); | 97 [slice1]); |
| 98 // First tab should be selected. | 98 // First tab should be selected. |
| 99 checkSelectedTab(sampleTab2, []); | 99 checkSelectedTab(sampleTab2, []); |
| 100 | 100 |
| 101 // 3. Tab selection: single thread slice tab. | 101 // 3. Tab selection: single thread slice tab. |
| 102 tabView.selectedTab = singleThreadSliceTab2; | 102 tabView.selectedSubView = singleThreadSliceTab2; |
| 103 checkSelectedTab(singleThreadSliceTab2, []); | 103 checkSelectedTab(singleThreadSliceTab2, []); |
| 104 | 104 |
| 105 // 4. Event selection: one sample, two thread slices, and one | 105 // 4. Event selection: one sample, two thread slices, and one |
| 106 // user expectation. | 106 // user expectation. |
| 107 controller.changeSelectionFromRequestSelectionChangeEvent( | 107 controller.changeSelectionFromRequestSelectionChangeEvent( |
| 108 new EventSet([slice1, slice2, sample3, record1])); | 108 new EventSet([slice1, slice2, sample3, record1])); |
| 109 assert.lengthOf(tabView.tabs, 3); | 109 assert.lengthOf(tabView.tabs, 3); |
| 110 var sampleTab4 = tabView.tabs[1]; | 110 var sampleTab4 = tabView.tabs[1]; |
| 111 checkTab(sampleTab4, | 111 checkTab(sampleTab4, |
| 112 'tr-ui-a-counter-sample-sub-view', | 112 'tr-ui-a-counter-sample-sub-view', |
| 113 [sample3]); | 113 [sample3]); |
| 114 // Reuse tab (same event type and sub-view tag name). | |
| 115 assert.strictEqual(sampleTab4, sampleTab2); | |
| 116 var singleRecordTab4 = tabView.tabs[2]; | 114 var singleRecordTab4 = tabView.tabs[2]; |
| 117 checkTab(singleRecordTab4, | 115 checkTab(singleRecordTab4, |
| 118 'tr-ui-a-single-user-expectation-sub-view', | 116 'tr-ui-a-single-user-expectation-sub-view', |
| 119 [record1]); | 117 [record1]); |
| 120 var multiThreadSliceTab4 = tabView.tabs[0]; | 118 var multiThreadSliceTab4 = tabView.tabs[0]; |
| 121 checkTab(multiThreadSliceTab4, | 119 checkTab(multiThreadSliceTab4, |
| 122 'tr-ui-a-multi-thread-time-slice-sub-view', | 120 'tr-ui-a-multi-thread-time-slice-sub-view', |
| 123 [slice1, slice2]); | 121 [slice1, slice2]); |
| 124 // Remember selected tab (even though the tab was destroyed). | 122 // Remember selected tab (even though the tab was destroyed). |
| 125 checkSelectedTab(multiThreadSliceTab4, []); | 123 checkSelectedTab(multiThreadSliceTab4, []); |
| 126 | 124 |
| 127 // 5. Tab selection: single user expectation tab. | 125 // 5. Tab selection: single user expectation tab. |
| 128 tabView.selectedTab = singleRecordTab4; | 126 tabView.selectedSubView = singleRecordTab4; |
| 129 checkSelectedTab(singleRecordTab4, [sample1, slice1]); | 127 checkSelectedTab(singleRecordTab4, [sample1, slice1]); |
| 130 | 128 |
| 131 // 6. Event selection: one user expectation. | 129 // 6. Event selection: one user expectation. |
| 132 controller.changeSelectionFromRequestSelectionChangeEvent( | 130 controller.changeSelectionFromRequestSelectionChangeEvent( |
| 133 new EventSet([record2])); | 131 new EventSet([record2])); |
| 134 assert.lengthOf(tabView.tabs, 1); | 132 assert.lengthOf(tabView.tabs, 1); |
| 135 var singleRecordTab6 = tabView.tabs[0]; | 133 var singleRecordTab6 = tabView.tabs[0]; |
| 136 checkTab(singleRecordTab6, | 134 checkTab(singleRecordTab6, |
| 137 'tr-ui-a-single-user-expectation-sub-view', | 135 'tr-ui-a-single-user-expectation-sub-view', |
| 138 [record2]); | 136 [record2]); |
| 139 // Reuse tab (same event type and sub-view tag name). | |
| 140 assert.strictEqual(singleRecordTab6, singleRecordTab4); | |
| 141 // Remember selected tab. | 137 // Remember selected tab. |
| 142 checkSelectedTab(singleRecordTab6, [sample2, sample3, slice1]); | 138 checkSelectedTab(singleRecordTab6, [sample2, sample3, slice1]); |
| 143 }); | 139 }); |
| 144 }); | 140 }); |
| 145 </script> | 141 </script> |
| OLD | NEW |