Home | History | Annotate | Download | only in ui
      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