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.list_view');
      8 
      9 base.unittest.testSuite('ui.list_view', function() {
     10   var ListView = ui.ListView;
     11 
     12   test('instantiate', function() {
     13     var view = new ListView();
     14     var i1 = view.addItem('item 1');
     15     var i2 = view.addItem('item 2');
     16     var i3 = view.addItem('item 3');
     17     this.addHTMLOutput(view);
     18   });
     19 
     20   test('programmaticSelection', function() {
     21     var view = new ListView();
     22     var i1 = view.addItem('item 1');
     23     var i2 = view.addItem('item 2');
     24     var i3 = view.addItem('item 3');
     25 
     26     i2.selected = true;
     27     assertTrue(i2.hasAttribute('selected'));
     28     i3.selected = true;
     29     assertFalse(i2.hasAttribute('selected'));
     30     assertTrue(i3.hasAttribute('selected'));
     31   });
     32 
     33   test('selectionEvents', function() {
     34     var view = new ListView();
     35     var didSelectionChange = 0;
     36     view.addEventListener('selection-changed', function() {
     37       didSelectionChange = true;
     38     });
     39     var i1 = view.addItem('item 1');
     40     var i2 = view.addItem('item 2');
     41     var i3 = view.addItem('item 3');
     42 
     43     didSelectionChange = false;
     44     i2.selected = true;
     45     assertTrue(didSelectionChange);
     46 
     47     didSelectionChange = false;
     48     view.removeChild(i2);
     49     assertTrue(didSelectionChange);
     50   });
     51 });
     52