166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// Copyright (c) 2013 The Chromium Authors. All rights reserved.
266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// Use of this source code is governed by a BSD-style license that can be
366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// found in the LICENSE file.
466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis'use strict';
666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('base.settings');
866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('tracing.test_utils');
966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('tracing.category_filter_dialog');
1066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
1166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.unittest.testSuite('tracing.category_filter_dialog', function() {
1266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis  test('categoryFilterDialog_UpdateForm_NoSettings', function() {
1366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var settings = new base.Settings();
1466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
1566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var dlg = new tracing.CategoryFilterDialog();
1666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    dlg.categories = ['one', 'two', 'three'];
1766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    dlg.settings = settings;
1866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    dlg.settings_key = 'key';
1966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    dlg.updateForm_();
2066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
2166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var checkboxes = dlg.formEl_.getElementsByTagName('input');
2266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals(3, checkboxes.length);
2366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals('one', checkboxes[0].id);
2466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals('one', checkboxes[0].value);
2566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals(true, checkboxes[0].checked);
2666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals('three', checkboxes[1].id);
2766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals('three', checkboxes[1].value);
2866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals(true, checkboxes[1].checked);
2966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals('two', checkboxes[2].id);
3066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals('two', checkboxes[2].value);
3166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals(true, checkboxes[2].checked);
3266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var labels = dlg.formEl_.getElementsByTagName('label');
3366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals(3, labels.length);
3466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals('one', labels[0].textContent);
3566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals('three', labels[1].textContent);
3666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals('two', labels[2].textContent);
3766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis  });
3866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis});
39