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/base/settings.html"> | 8 <link rel="import" href="/tracing/base/settings.html"> |
9 <link rel="import" href="/tracing/core/test_utils.html"> | 9 <link rel="import" href="/tracing/core/test_utils.html"> |
10 <link rel="import" href="/tracing/ui/extras/about_tracing/record_selection_dialo
g.html"> | 10 <link rel="import" href="/tracing/ui/extras/about_tracing/record_selection_dialo
g.html"> |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 assert.strictEqual(checkboxes[0].id, 'three'); | 73 assert.strictEqual(checkboxes[0].id, 'three'); |
74 assert.strictEqual(checkboxes[0].value, 'three'); | 74 assert.strictEqual(checkboxes[0].value, 'three'); |
75 assert.isTrue(checkboxes[0].checked); | 75 assert.isTrue(checkboxes[0].checked); |
76 assert.strictEqual(checkboxes[1].id, 'two'); | 76 assert.strictEqual(checkboxes[1].id, 'two'); |
77 assert.strictEqual(checkboxes[1].value, 'two'); | 77 assert.strictEqual(checkboxes[1].value, 'two'); |
78 assert.isTrue(checkboxes[1].checked); | 78 assert.isTrue(checkboxes[1].checked); |
79 assert.strictEqual(checkboxes[2].id, 'disabled-by-default-one'); | 79 assert.strictEqual(checkboxes[2].id, 'disabled-by-default-one'); |
80 assert.strictEqual(checkboxes[2].value, 'disabled-by-default-one'); | 80 assert.strictEqual(checkboxes[2].value, 'disabled-by-default-one'); |
81 assert.isFalse(checkboxes[2].checked); | 81 assert.isFalse(checkboxes[2].checked); |
82 | 82 |
83 assert.strictEqual(dlg.categoryFilter(), ''); | 83 assert.deepEqual(dlg.includedAndExcludedCategories().included, []); |
| 84 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, []); |
84 | 85 |
85 const labels = Polymer.dom(dlg).querySelectorAll('.categories label'); | 86 const labels = Polymer.dom(dlg).querySelectorAll('.categories label'); |
86 assert.strictEqual(labels.length, 3); | 87 assert.strictEqual(labels.length, 3); |
87 assert.strictEqual(Polymer.dom(labels[0]).textContent, 'three'); | 88 assert.strictEqual(Polymer.dom(labels[0]).textContent, 'three'); |
88 assert.strictEqual(Polymer.dom(labels[1]).textContent, 'two'); | 89 assert.strictEqual(Polymer.dom(labels[1]).textContent, 'two'); |
89 assert.strictEqual(Polymer.dom(labels[2]).textContent, 'one'); | 90 assert.strictEqual(Polymer.dom(labels[2]).textContent, 'one'); |
90 }); | 91 }); |
91 | 92 |
92 test('recordSelectionDialog_UpdateForm_Settings', function() { | 93 test('recordSelectionDialog_UpdateForm_Settings', function() { |
93 tr.b.Settings.set('two', true, 'categories'); | 94 tr.b.Settings.set('two', true, 'categories'); |
(...skipping 10 matching lines...) Expand all Loading... |
104 assert.strictEqual(checkboxes[0].id, 'three'); | 105 assert.strictEqual(checkboxes[0].id, 'three'); |
105 assert.strictEqual(checkboxes[0].value, 'three'); | 106 assert.strictEqual(checkboxes[0].value, 'three'); |
106 assert.isFalse(checkboxes[0].checked); | 107 assert.isFalse(checkboxes[0].checked); |
107 assert.strictEqual(checkboxes[1].id, 'two'); | 108 assert.strictEqual(checkboxes[1].id, 'two'); |
108 assert.strictEqual(checkboxes[1].value, 'two'); | 109 assert.strictEqual(checkboxes[1].value, 'two'); |
109 assert.isTrue(checkboxes[1].checked); | 110 assert.isTrue(checkboxes[1].checked); |
110 assert.strictEqual(checkboxes[2].id, 'disabled-by-default-one'); | 111 assert.strictEqual(checkboxes[2].id, 'disabled-by-default-one'); |
111 assert.strictEqual(checkboxes[2].value, 'disabled-by-default-one'); | 112 assert.strictEqual(checkboxes[2].value, 'disabled-by-default-one'); |
112 assert.isFalse(checkboxes[2].checked); | 113 assert.isFalse(checkboxes[2].checked); |
113 | 114 |
114 assert.strictEqual(dlg.categoryFilter(), '-three'); | 115 assert.deepEqual(dlg.includedAndExcludedCategories().included, []); |
| 116 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, ['three']); |
115 | 117 |
116 const labels = Polymer.dom(dlg).querySelectorAll('.categories label'); | 118 const labels = Polymer.dom(dlg).querySelectorAll('.categories label'); |
117 assert.strictEqual(labels.length, 3); | 119 assert.strictEqual(labels.length, 3); |
118 assert.strictEqual(Polymer.dom(labels[0]).textContent, 'three'); | 120 assert.strictEqual(Polymer.dom(labels[0]).textContent, 'three'); |
119 assert.strictEqual(Polymer.dom(labels[1]).textContent, 'two'); | 121 assert.strictEqual(Polymer.dom(labels[1]).textContent, 'two'); |
120 assert.strictEqual(Polymer.dom(labels[2]).textContent, 'one'); | 122 assert.strictEqual(Polymer.dom(labels[2]).textContent, 'one'); |
121 }); | 123 }); |
122 | 124 |
123 test('recordSelectionDialog_UpdateForm_DisabledByDefault', function() { | 125 test('recordSelectionDialog_UpdateForm_DisabledByDefault', function() { |
124 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); | 126 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); |
125 dlg.categories = ['disabled-by-default-bar', 'baz']; | 127 dlg.categories = ['disabled-by-default-bar', 'baz']; |
126 dlg.settings_key = 'categories'; | 128 dlg.settings_key = 'categories'; |
127 dlg.currentlyChosenPreset = []; | 129 dlg.currentlyChosenPreset = []; |
128 dlg.updateForm_(); | 130 dlg.updateForm_(); |
129 | 131 |
130 assert.strictEqual(dlg.categoryFilter(), ''); | 132 assert.deepEqual(dlg.includedAndExcludedCategories().included, []); |
| 133 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, []); |
131 | 134 |
132 const inputs = | 135 const inputs = |
133 Polymer.dom(dlg).querySelector('input#disabled-by-default-bar').click(); | 136 Polymer.dom(dlg).querySelector('input#disabled-by-default-bar').click(); |
134 | 137 |
135 assert.strictEqual(dlg.categoryFilter(), 'disabled-by-default-bar'); | 138 assert.deepEqual(dlg.includedAndExcludedCategories().included, |
| 139 ['disabled-by-default-bar']); |
| 140 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, []); |
136 | 141 |
137 assert.isFalse( | 142 assert.isFalse( |
138 tr.b.Settings.get('disabled-by-default-foo', false, 'categories')); | 143 tr.b.Settings.get('disabled-by-default-foo', false, 'categories')); |
139 }); | 144 }); |
140 | 145 |
141 test('selectAll', function() { | 146 test('selectAll', function() { |
142 tr.b.Settings.set('two', true, 'categories'); | 147 tr.b.Settings.set('two', true, 'categories'); |
143 tr.b.Settings.set('three', false, 'categories'); | 148 tr.b.Settings.set('three', false, 'categories'); |
144 | 149 |
145 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); | 150 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); |
146 dlg.categories = ['disabled-by-default-one']; | 151 dlg.categories = ['disabled-by-default-one']; |
147 dlg.settings_key = 'categories'; | 152 dlg.settings_key = 'categories'; |
148 dlg.currentlyChosenPreset = []; | 153 dlg.currentlyChosenPreset = []; |
149 dlg.updateForm_(); | 154 dlg.updateForm_(); |
150 }); | 155 }); |
151 | 156 |
152 test('selectNone', function() { | 157 test('selectNone', function() { |
153 tr.b.Settings.set('two', true, 'categories'); | 158 tr.b.Settings.set('two', true, 'categories'); |
154 tr.b.Settings.set('three', false, 'categories'); | 159 tr.b.Settings.set('three', false, 'categories'); |
155 | 160 |
156 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); | 161 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); |
157 dlg.categories = ['disabled-by-default-one']; | 162 dlg.categories = ['disabled-by-default-one']; |
158 dlg.settings_key = 'categories'; | 163 dlg.settings_key = 'categories'; |
159 dlg.currentlyChosenPreset = []; | 164 dlg.currentlyChosenPreset = []; |
160 dlg.updateForm_(); | 165 dlg.updateForm_(); |
161 | 166 |
162 // Enables the three option, two already enabled. | 167 // Enables the three option, two already enabled. |
163 Polymer.dom(dlg).querySelector('.default-enabled-categories .all-btn') | 168 Polymer.dom(dlg).querySelector('.default-enabled-categories .all-btn') |
164 .click(); | 169 .click(); |
165 assert.strictEqual(dlg.categoryFilter(), ''); | 170 assert.deepEqual(dlg.includedAndExcludedCategories().included, []); |
| 171 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, []); |
166 assert.isTrue(tr.b.Settings.get('three', false, 'categories')); | 172 assert.isTrue(tr.b.Settings.get('three', false, 'categories')); |
167 | 173 |
168 // Disables three and two. | 174 // Disables three and two. |
169 Polymer.dom(dlg).querySelector('.default-enabled-categories .none-btn') | 175 Polymer.dom(dlg).querySelector('.default-enabled-categories .none-btn') |
170 .click(); | 176 .click(); |
171 assert.strictEqual(dlg.categoryFilter(), '-three,-two'); | 177 assert.deepEqual(dlg.includedAndExcludedCategories().included, []); |
| 178 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, |
| 179 ['three', 'two']); |
172 assert.isFalse(tr.b.Settings.get('two', false, 'categories')); | 180 assert.isFalse(tr.b.Settings.get('two', false, 'categories')); |
173 assert.isFalse(tr.b.Settings.get('three', false, 'categories')); | 181 assert.isFalse(tr.b.Settings.get('three', false, 'categories')); |
174 | 182 |
175 // Turn categories back on so they can be ignored. | 183 // Turn categories back on so they can be ignored. |
176 Polymer.dom(dlg).querySelector('.default-enabled-categories .all-btn') | 184 Polymer.dom(dlg).querySelector('.default-enabled-categories .all-btn') |
177 .click(); | 185 .click(); |
178 | 186 |
179 // Enables disabled category. | 187 // Enables disabled category. |
180 Polymer.dom(dlg).querySelector('.default-disabled-categories .all-btn') | 188 Polymer.dom(dlg).querySelector('.default-disabled-categories .all-btn') |
181 .click(); | 189 .click(); |
182 assert.strictEqual(dlg.categoryFilter(), 'disabled-by-default-one'); | 190 assert.deepEqual(dlg.includedAndExcludedCategories().included, |
| 191 ['disabled-by-default-one']); |
| 192 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, []); |
183 assert.isTrue( | 193 assert.isTrue( |
184 tr.b.Settings.get('disabled-by-default-one', false, 'categories')); | 194 tr.b.Settings.get('disabled-by-default-one', false, 'categories')); |
185 | 195 |
186 // Turn disabled by default back off. | 196 // Turn disabled by default back off. |
187 Polymer.dom(dlg).querySelector('.default-disabled-categories .none-btn') | 197 Polymer.dom(dlg).querySelector('.default-disabled-categories .none-btn') |
188 .click(); | 198 .click(); |
189 assert.strictEqual(dlg.categoryFilter(), ''); | 199 assert.deepEqual(dlg.includedAndExcludedCategories().included, []); |
| 200 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, []); |
190 assert.isFalse( | 201 assert.isFalse( |
191 tr.b.Settings.get('disabled-by-default-one', false, 'categories')); | 202 tr.b.Settings.get('disabled-by-default-one', false, 'categories')); |
192 }); | 203 }); |
193 | 204 |
194 test('recordSelectionDialog_noPreset', function() { | 205 test('recordSelectionDialog_noPreset', function() { |
195 tr.b.Settings.set('about_tracing.record_selection_dialog_preset', []); | 206 tr.b.Settings.set('about_tracing.record_selection_dialog_preset', []); |
196 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); | 207 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); |
197 assert.isFalse(dlg.usingPreset_()); | 208 assert.isFalse(dlg.usingPreset_()); |
198 }); | 209 }); |
199 | 210 |
200 test('recordSelectionDialog_defaultPreset', function() { | 211 test('recordSelectionDialog_defaultPreset', function() { |
201 tr.b.Settings.set('two', true, 'categories'); | 212 tr.b.Settings.set('two', true, 'categories'); |
202 tr.b.Settings.set('three', false, 'categories'); | 213 tr.b.Settings.set('three', false, 'categories'); |
203 | 214 |
204 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); | 215 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); |
205 dlg.categories = ['disabled-by-default-one']; | 216 dlg.categories = ['disabled-by-default-one']; |
206 dlg.settings_key = 'categories'; | 217 dlg.settings_key = 'categories'; |
207 // Note: currentlyChosenPreset is not set here, so the default is used. | 218 // Note: currentlyChosenPreset is not set here, so the default is used. |
208 dlg.updateForm_(); | 219 dlg.updateForm_(); |
209 | 220 |
210 // Make sure the default filter is returned. | 221 // Make sure the default filter is returned. |
211 assert.strictEqual(dlg.categoryFilter(), '-three,-two'); | 222 assert.deepEqual(dlg.includedAndExcludedCategories().included, []); |
| 223 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, |
| 224 ['three', 'two']); |
212 | 225 |
213 // Make sure the default tracing types are returned. | 226 // Make sure the default tracing types are returned. |
214 assert.strictEqual(dlg.tracingRecordMode, 'record-until-full'); | 227 assert.strictEqual(dlg.tracingRecordMode, 'record-until-full'); |
215 assert.isTrue(dlg.useSystemTracing); | 228 assert.isTrue(dlg.useSystemTracing); |
216 assert.isFalse(dlg.useSampling); | 229 assert.isFalse(dlg.useSampling); |
217 | 230 |
218 // Make sure the manual settings are not visible. | 231 // Make sure the manual settings are not visible. |
219 const classList = Polymer.dom(dlg.categoriesView_).classList; | 232 const classList = Polymer.dom(dlg.categoriesView_).classList; |
220 assert.isTrue(classList.contains('categories-column-view-hidden')); | 233 assert.isTrue(classList.contains('categories-column-view-hidden')); |
221 | 234 |
(...skipping 16 matching lines...) Expand all Loading... |
238 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); | 251 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); |
239 dlg.categories = ['one', 'two', 'disabled-by-default-three']; | 252 dlg.categories = ['one', 'two', 'disabled-by-default-three']; |
240 dlg.settings_key = 'categories'; | 253 dlg.settings_key = 'categories'; |
241 // Note: currentlyChosenPreset is not set here, so the default is used. | 254 // Note: currentlyChosenPreset is not set here, so the default is used. |
242 dlg.updateForm_(); | 255 dlg.updateForm_(); |
243 return dlg; | 256 return dlg; |
244 } | 257 } |
245 | 258 |
246 // After the dialog is created, it should be using the default preset. | 259 // After the dialog is created, it should be using the default preset. |
247 let dlg = createDialog(); | 260 let dlg = createDialog(); |
248 assert.strictEqual(dlg.categoryFilter(), '-one,-two'); | 261 assert.deepEqual(dlg.includedAndExcludedCategories().included, []); |
| 262 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, |
| 263 ['one', 'two']); |
249 assert.isTrue(dlg.usingPreset_()); | 264 assert.isTrue(dlg.usingPreset_()); |
250 assert.isFalse( | 265 assert.isFalse( |
251 dlg.querySelector('#category-preset-Manually-select-settings').checked); | 266 dlg.querySelector('#category-preset-Manually-select-settings').checked); |
252 | 267 |
253 // After clicking on "Edit Categories", the default preset should still be | 268 // After clicking on "Edit Categories", the default preset should still be |
254 // used. | 269 // used. |
255 dlg.onClickEditCategories(); | 270 dlg.onClickEditCategories(); |
256 assert.strictEqual(dlg.categoryFilter(), '-one,-two'); | 271 assert.deepEqual(dlg.includedAndExcludedCategories().included, []); |
| 272 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, |
| 273 ['one', 'two']); |
257 assert.isTrue(dlg.usingPreset_()); | 274 assert.isTrue(dlg.usingPreset_()); |
258 assert.isFalse( | 275 assert.isFalse( |
259 dlg.querySelector('#category-preset-Manually-select-settings').checked); | 276 dlg.querySelector('#category-preset-Manually-select-settings').checked); |
260 | 277 |
261 // After clicking on category checkbox(es), the mode should be changed to | 278 // After clicking on category checkbox(es), the mode should be changed to |
262 // "Manually select settings". | 279 // "Manually select settings". |
263 Array.prototype.forEach.call(dlg.querySelectorAll('.categories input'), | 280 Array.prototype.forEach.call(dlg.querySelectorAll('.categories input'), |
264 checkbox => checkbox.click()); | 281 checkbox => checkbox.click()); |
265 assert.strictEqual(dlg.categoryFilter(), 'disabled-by-default-three'); | 282 assert.deepEqual(dlg.includedAndExcludedCategories().included, |
| 283 ['disabled-by-default-three']); |
| 284 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, []); |
266 assert.isFalse(dlg.usingPreset_()); | 285 assert.isFalse(dlg.usingPreset_()); |
267 assert.isTrue( | 286 assert.isTrue( |
268 dlg.querySelector('#category-preset-Manually-select-settings').checked); | 287 dlg.querySelector('#category-preset-Manually-select-settings').checked); |
269 | 288 |
270 // After the dialog is opened again, it should be using the default preset. | 289 // After the dialog is opened again, it should be using the default preset. |
271 // More importantly, the default preset should NOT be modified. | 290 // More importantly, the default preset should NOT be modified. |
272 dlg = createDialog(); | 291 dlg = createDialog(); |
273 assert.strictEqual(dlg.categoryFilter(), '-one,-two'); | 292 assert.deepEqual(dlg.includedAndExcludedCategories().included, []); |
| 293 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, |
| 294 ['one', 'two']); |
274 assert.isTrue(dlg.usingPreset_()); | 295 assert.isTrue(dlg.usingPreset_()); |
275 assert.isFalse( | 296 assert.isFalse( |
276 dlg.querySelector('#category-preset-Manually-select-settings').checked); | 297 dlg.querySelector('#category-preset-Manually-select-settings').checked); |
277 }); | 298 }); |
278 | 299 |
279 test('recordSelectionDialog_changePresets', function() { | 300 test('recordSelectionDialog_changePresets', function() { |
280 tr.b.Settings.set('two', true, 'categories'); | 301 tr.b.Settings.set('two', true, 'categories'); |
281 tr.b.Settings.set('three', false, 'categories'); | 302 tr.b.Settings.set('three', false, 'categories'); |
282 tr.b.Settings.set('disabled-by-default-cc.debug', true, 'categories'); | 303 tr.b.Settings.set('disabled-by-default-cc.debug', true, 'categories'); |
283 tr.b.Settings.set('recordSelectionDialog.tracingRecordMode', | 304 tr.b.Settings.set('recordSelectionDialog.tracingRecordMode', |
284 'record-as-much-as-possible'); | 305 'record-as-much-as-possible'); |
285 tr.b.Settings.set('recordSelectionDialog.useSystemTracing', true); | 306 tr.b.Settings.set('recordSelectionDialog.useSystemTracing', true); |
286 tr.b.Settings.set('recordSelectionDialog.useSampling', false); | 307 tr.b.Settings.set('recordSelectionDialog.useSampling', false); |
287 | 308 |
288 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); | 309 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); |
289 dlg.categories = ['disabled-by-default-one']; | 310 dlg.categories = ['disabled-by-default-one']; |
290 dlg.settings_key = 'categories'; | 311 dlg.settings_key = 'categories'; |
291 // Note: currentlyChosenPreset is not set here, so the default is used. | 312 // Note: currentlyChosenPreset is not set here, so the default is used. |
292 dlg.updateForm_(); | 313 dlg.updateForm_(); |
293 | 314 |
294 // Preset mode is on. | 315 // Preset mode is on. |
295 assert.isTrue(dlg.usingPreset_()); | 316 assert.isTrue(dlg.usingPreset_()); |
296 | 317 |
297 // Make sure the default filter is returned. | 318 // Make sure the default filter is returned. |
298 assert.strictEqual(dlg.categoryFilter(), | 319 assert.deepEqual(dlg.includedAndExcludedCategories().included, []); |
299 '-three,-two'); | 320 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, |
| 321 ['three', 'two']); |
300 | 322 |
301 // Make sure the default tracing types are returned. | 323 // Make sure the default tracing types are returned. |
302 assert.strictEqual(dlg.tracingRecordMode, 'record-as-much-as-possible'); | 324 assert.strictEqual(dlg.tracingRecordMode, 'record-as-much-as-possible'); |
303 assert.isTrue(dlg.useSystemTracing); | 325 assert.isTrue(dlg.useSystemTracing); |
304 assert.isFalse(dlg.useSampling); | 326 assert.isFalse(dlg.useSampling); |
305 | 327 |
306 // Make sure the manual settings are not visible. | 328 // Make sure the manual settings are not visible. |
307 const classList = Polymer.dom(dlg.categoriesView_).classList; | 329 const classList = Polymer.dom(dlg.categoriesView_).classList; |
308 assert.isTrue(classList.contains('categories-column-view-hidden')); | 330 assert.isTrue(classList.contains('categories-column-view-hidden')); |
309 | 331 |
310 // Switch to manual settings and verify the default values are not returned. | 332 // Switch to manual settings and verify the default values are not returned. |
311 dlg.currentlyChosenPreset = []; | 333 dlg.currentlyChosenPreset = []; |
312 | 334 |
313 // Preset mode is off. | 335 // Preset mode is off. |
314 assert.isFalse(dlg.usingPreset_()); | 336 assert.isFalse(dlg.usingPreset_()); |
315 | 337 |
316 // Make sure the default filter is returned. | 338 // Make sure the default filter is returned. |
317 assert.strictEqual( | 339 assert.deepEqual(dlg.includedAndExcludedCategories().included, |
318 dlg.categoryFilter(), '-three,disabled-by-default-cc.debug'); | 340 ['disabled-by-default-cc.debug']); |
| 341 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, ['three']); |
319 | 342 |
320 // Make sure the tracing types set by catalog are returned. | 343 // Make sure the tracing types set by catalog are returned. |
321 assert.strictEqual(dlg.tracingRecordMode, 'record-as-much-as-possible'); | 344 assert.strictEqual(dlg.tracingRecordMode, 'record-as-much-as-possible'); |
322 assert.isTrue(dlg.useSystemTracing); | 345 assert.isTrue(dlg.useSystemTracing); |
323 assert.isFalse(dlg.useSampling); | 346 assert.isFalse(dlg.useSampling); |
324 assert.isFalse(classList.contains('categories-column-view-hidden')); | 347 assert.isFalse(classList.contains('categories-column-view-hidden')); |
325 | 348 |
326 // Switch to the graphics, rendering, and rasterization preset. | 349 // Switch to the graphics, rendering, and rasterization preset. |
327 dlg.currentlyChosenPreset = ['blink', 'cc', 'renderer', | 350 dlg.currentlyChosenPreset = ['blink', 'cc', 'renderer', |
328 'disabled-by-default-cc.debug']; | 351 'disabled-by-default-cc.debug']; |
329 assert.strictEqual(dlg.categoryFilter(), | 352 assert.deepEqual(dlg.includedAndExcludedCategories().included, |
330 'disabled-by-default-cc.debug,-three,-two'); | 353 ['disabled-by-default-cc.debug']); |
| 354 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, |
| 355 ['three', 'two']); |
331 }); | 356 }); |
332 | 357 |
333 test('recordSelectionDialog_savedPreset', function() { | 358 test('recordSelectionDialog_savedPreset', function() { |
334 tr.b.Settings.set('two', true, 'categories'); | 359 tr.b.Settings.set('two', true, 'categories'); |
335 tr.b.Settings.set('three', false, 'categories'); | 360 tr.b.Settings.set('three', false, 'categories'); |
336 tr.b.Settings.set('recordSelectionDialog.tracingRecordMode', | 361 tr.b.Settings.set('recordSelectionDialog.tracingRecordMode', |
337 'record-continuously'); | 362 'record-continuously'); |
338 tr.b.Settings.set('recordSelectionDialog.useSystemTracing', true); | 363 tr.b.Settings.set('recordSelectionDialog.useSystemTracing', true); |
339 tr.b.Settings.set('recordSelectionDialog.useSampling', true); | 364 tr.b.Settings.set('recordSelectionDialog.useSampling', true); |
340 tr.b.Settings.set('tr.ui.e.about_tracing.record_selection_dialog_preset', | 365 tr.b.Settings.set('tr.ui.e.about_tracing.record_selection_dialog_preset', |
341 ['blink', 'cc', 'renderer', 'cc.debug']); | 366 ['blink', 'cc', 'renderer', 'cc.debug']); |
342 | 367 |
343 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); | 368 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); |
344 dlg.categories = ['disabled-by-default-one']; | 369 dlg.categories = ['disabled-by-default-one']; |
345 dlg.settings_key = 'categories'; | 370 dlg.settings_key = 'categories'; |
346 dlg.updateForm_(); | 371 dlg.updateForm_(); |
347 | 372 |
348 // Make sure the correct filter is returned. | 373 // Make sure the correct filter is returned. |
349 assert.strictEqual(dlg.categoryFilter(), '-three,-two'); | 374 assert.deepEqual(dlg.includedAndExcludedCategories().included, []); |
| 375 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, |
| 376 ['three', 'two']); |
350 | 377 |
351 // Make sure the correct tracing types are returned. | 378 // Make sure the correct tracing types are returned. |
352 assert.strictEqual(dlg.tracingRecordMode, 'record-continuously'); | 379 assert.strictEqual(dlg.tracingRecordMode, 'record-continuously'); |
353 assert.isTrue(dlg.useSystemTracing); | 380 assert.isTrue(dlg.useSystemTracing); |
354 assert.isTrue(dlg.useSampling); | 381 assert.isTrue(dlg.useSampling); |
355 | 382 |
356 // Make sure the manual settings are not visible. | 383 // Make sure the manual settings are not visible. |
357 const classList = Polymer.dom(dlg.categoriesView_).classList; | 384 const classList = Polymer.dom(dlg.categoriesView_).classList; |
358 assert.isTrue(classList.contains('categories-column-view-hidden')); | 385 assert.isTrue(classList.contains('categories-column-view-hidden')); |
359 | 386 |
360 // Switch to manual settings and verify the default values are not returned. | 387 // Switch to manual settings and verify the default values are not returned. |
361 dlg.currentlyChosenPreset = []; | 388 dlg.currentlyChosenPreset = []; |
362 assert.strictEqual(dlg.categoryFilter(), '-three'); | 389 assert.deepEqual(dlg.includedAndExcludedCategories().included, []); |
| 390 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, ['three']); |
363 assert.strictEqual(dlg.tracingRecordMode, 'record-continuously'); | 391 assert.strictEqual(dlg.tracingRecordMode, 'record-continuously'); |
364 assert.isTrue(dlg.useSystemTracing); | 392 assert.isTrue(dlg.useSystemTracing); |
365 assert.isTrue(dlg.useSampling); | 393 assert.isTrue(dlg.useSampling); |
366 assert.isFalse(classList.contains('categories-column-view-hidden')); | 394 assert.isFalse(classList.contains('categories-column-view-hidden')); |
367 }); | 395 }); |
368 | 396 |
369 test('recordSelectionDialog_categoryFilters', function() { | 397 test('recordSelectionDialog_categoryFilters', function() { |
370 tr.b.Settings.set('default1', true, 'categories'); | 398 tr.b.Settings.set('default1', true, 'categories'); |
371 tr.b.Settings.set('disabled1', false, 'categories'); | 399 tr.b.Settings.set('disabled1', false, 'categories'); |
372 tr.b.Settings.set('disabled-by-default-cc.disabled2', false, 'categories'); | 400 tr.b.Settings.set('disabled-by-default-cc.disabled2', false, 'categories'); |
373 tr.b.Settings.set('input', true, 'categories'); | 401 tr.b.Settings.set('input', true, 'categories'); |
374 tr.b.Settings.set('blink', true, 'categories'); | 402 tr.b.Settings.set('blink', true, 'categories'); |
375 tr.b.Settings.set('cc', false, 'categories'); | 403 tr.b.Settings.set('cc', false, 'categories'); |
376 tr.b.Settings.set('disabled-by-default-cc.debug', true, 'categories'); | 404 tr.b.Settings.set('disabled-by-default-cc.debug', true, 'categories'); |
377 | 405 |
378 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); | 406 const dlg = new tr.ui.e.about_tracing.RecordSelectionDialog(); |
379 dlg.settings_key = 'categories'; | 407 dlg.settings_key = 'categories'; |
380 dlg.categories = []; | 408 dlg.categories = []; |
381 dlg.currentlyChosenPreset = []; | 409 dlg.currentlyChosenPreset = []; |
382 dlg.updateForm_(); | 410 dlg.updateForm_(); |
383 | 411 |
384 assert.strictEqual(dlg.categoryFilter(), | 412 assert.deepEqual(dlg.includedAndExcludedCategories().included, |
385 '-cc,-disabled1,disabled-by-default-cc.debug'); | 413 ['disabled-by-default-cc.debug']); |
| 414 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, |
| 415 ['cc', 'disabled1']); |
386 | 416 |
387 // Switch to the graphics, rendering, and rasterization preset. | 417 // Switch to the graphics, rendering, and rasterization preset. |
388 dlg.currentlyChosenPreset = ['blink', 'cc', 'renderer', | 418 dlg.currentlyChosenPreset = ['blink', 'cc', 'renderer', |
389 'disabled-by-default-cc.debug']; | 419 'disabled-by-default-cc.debug']; |
390 assert.strictEqual(dlg.categoryFilter(), | 420 assert.deepEqual(dlg.includedAndExcludedCategories().included, |
391 '-default1,disabled-by-default-cc.debug,-disabled1,-input'); | 421 ['disabled-by-default-cc.debug']); |
| 422 assert.deepEqual(dlg.includedAndExcludedCategories().excluded, |
| 423 ['default1', 'disabled1', 'input']); |
392 }); | 424 }); |
393 }); | 425 }); |
394 </script> | 426 </script> |
OLD | NEW |