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