1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 'use strict'; 6 7 base.require('ui.dom_helpers'); 8 9 base.unittest.testSuite('ui.dom_helpers', function() { 10 11 test('simpleSpanAndDiv', function() { 12 var divEl = ui.createDiv({ 13 className: 'a-div-class', parent: document.body 14 }); 15 var testText = 'some span text'; 16 var spanEl = ui.createSpan({ 17 className: 'a-span-class', 18 textContent: testText, 19 parent: divEl 20 }); 21 var eltInDocument = document.querySelector('.a-div-class>.a-span-class'); 22 assertEquals(eltInDocument.textContent, testText); 23 eltInDocument.parentElement.removeChild(eltInDocument); 24 }); 25 26 test('checkboxFromDefaults', function() { 27 var target = {foo: undefined}; 28 var cb = ui.createCheckBox(target, 'foo', 'myCheckBox', false, 'Foo'); 29 assertEquals(false, target.foo); 30 }); 31 32 test('checkboxFromSettings', function() { 33 base.Settings.set('myCheckBox', true); 34 var target = {foo: undefined}; 35 var cb = ui.createCheckBox(target, 'foo', 'myCheckBox', false, 'Foo'); 36 assertEquals(true, target.foo); 37 }); 38 39 test('checkboxChanged', function() { 40 var target = {foo: undefined}; 41 var cb = ui.createCheckBox(target, 'foo', 'myCheckBox', false, 'Foo'); 42 cb.checked = true; 43 44 assertEquals(true, base.Settings.get('myCheckBox', undefined)); 45 assertEquals(true, target.foo); 46 }); 47 48 test('selectorSettingsAlreaySet', function() { 49 base.Settings.set('myScale', 0.25); 50 51 var target = { 52 scale: 314 53 }; 54 var sel = ui.createSelector( 55 target, 'scale', 56 'myScale', 0.375, 57 [{label: '6.25%', value: 0.0625}, 58 {label: '12.5%', value: 0.125}, 59 {label: '25%', value: 0.25}, 60 {label: '37.5%', value: 0.375}, 61 {label: '50%', value: 0.5}, 62 {label: '75%', value: 0.75}, 63 {label: '100%', value: 1}, 64 {label: '200%', value: 2} 65 ]); 66 assertEquals(0.25, target.scale); 67 assertEquals(2, sel.selectedIndex); 68 }); 69 70 test('selectorSettingsDefault', function() { 71 var target = { 72 scale: 314 73 }; 74 var sel = ui.createSelector( 75 target, 'scale', 76 'myScale', 0.375, 77 [{label: '6.25%', value: 0.0625}, 78 {label: '12.5%', value: 0.125}, 79 {label: '25%', value: 0.25}, 80 {label: '37.5%', value: 0.375}, 81 {label: '50%', value: 0.5}, 82 {label: '75%', value: 0.75}, 83 {label: '100%', value: 1}, 84 {label: '200%', value: 2} 85 ]); 86 assertEquals(0.375, target.scale); 87 assertEquals(3, sel.selectedIndex); 88 }); 89 90 test('selectorSettingsChanged', function() { 91 var target = { 92 scale: 314 93 }; 94 var sel = ui.createSelector( 95 target, 'scale', 96 'myScale', 0.375, 97 [{label: '6.25%', value: 0.0625}, 98 {label: '12.5%', value: 0.125}, 99 {label: '25%', value: 0.25}, 100 {label: '37.5%', value: 0.375}, 101 {label: '50%', value: 0.5}, 102 {label: '75%', value: 0.75}, 103 {label: '100%', value: 1}, 104 {label: '200%', value: 2} 105 ]); 106 assertEquals(0.375, sel.selectedValue); 107 sel.selectedValue = 0.75; 108 assertEquals(0.75, target.scale); 109 assertEquals(0.75, sel.selectedValue); 110 assertEquals(0.75, base.Settings.get('myScale', undefined)); 111 }); 112 }); 113