// Copyright (c) 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. 'use strict'; base.require('ui.dom_helpers'); base.unittest.testSuite('ui.dom_helpers', function() { test('simpleSpanAndDiv', function() { var divEl = ui.createDiv({ className: 'a-div-class', parent: document.body }); var testText = 'some span text'; var spanEl = ui.createSpan({ className: 'a-span-class', textContent: testText, parent: divEl }); var eltInDocument = document.querySelector('.a-div-class>.a-span-class'); assertEquals(eltInDocument.textContent, testText); eltInDocument.parentElement.removeChild(eltInDocument); }); test('checkboxFromDefaults', function() { var target = {foo: undefined}; var cb = ui.createCheckBox(target, 'foo', 'myCheckBox', false, 'Foo'); assertEquals(false, target.foo); }); test('checkboxFromSettings', function() { base.Settings.set('myCheckBox', true); var target = {foo: undefined}; var cb = ui.createCheckBox(target, 'foo', 'myCheckBox', false, 'Foo'); assertEquals(true, target.foo); }); test('checkboxChanged', function() { var target = {foo: undefined}; var cb = ui.createCheckBox(target, 'foo', 'myCheckBox', false, 'Foo'); cb.checked = true; assertEquals(true, base.Settings.get('myCheckBox', undefined)); assertEquals(true, target.foo); }); test('selectorSettingsAlreaySet', function() { base.Settings.set('myScale', 0.25); var target = { scale: 314 }; var sel = ui.createSelector( target, 'scale', 'myScale', 0.375, [{label: '6.25%', value: 0.0625}, {label: '12.5%', value: 0.125}, {label: '25%', value: 0.25}, {label: '37.5%', value: 0.375}, {label: '50%', value: 0.5}, {label: '75%', value: 0.75}, {label: '100%', value: 1}, {label: '200%', value: 2} ]); assertEquals(0.25, target.scale); assertEquals(2, sel.selectedIndex); }); test('selectorSettingsDefault', function() { var target = { scale: 314 }; var sel = ui.createSelector( target, 'scale', 'myScale', 0.375, [{label: '6.25%', value: 0.0625}, {label: '12.5%', value: 0.125}, {label: '25%', value: 0.25}, {label: '37.5%', value: 0.375}, {label: '50%', value: 0.5}, {label: '75%', value: 0.75}, {label: '100%', value: 1}, {label: '200%', value: 2} ]); assertEquals(0.375, target.scale); assertEquals(3, sel.selectedIndex); }); test('selectorSettingsChanged', function() { var target = { scale: 314 }; var sel = ui.createSelector( target, 'scale', 'myScale', 0.375, [{label: '6.25%', value: 0.0625}, {label: '12.5%', value: 0.125}, {label: '25%', value: 0.25}, {label: '37.5%', value: 0.375}, {label: '50%', value: 0.5}, {label: '75%', value: 0.75}, {label: '100%', value: 1}, {label: '200%', value: 2} ]); assertEquals(0.375, sel.selectedValue); sel.selectedValue = 0.75; assertEquals(0.75, target.scale); assertEquals(0.75, sel.selectedValue); assertEquals(0.75, base.Settings.get('myScale', undefined)); }); });