// ========================================================================== // Project: SproutCore
- JavaScript Application Framework // Copyright: ©2006-2011 Strobe Inc. and contributors. // Portions ©2008-2011 Apple Inc. All rights reserved. // License: Licensed under MIT license (see license.js) // ==========================================================================
/*global module test htmlbody ok equals same stop start */
(function() {
// var content = [] // for (var idx=0, len=20; idx<len; ++idx) { // content.push(SC.Record.create({ // id: 'item_'+idx, // title: 'Item ' + idx // })) // } // // var singleSelection = [content[0]]; // var multiSelectionContiguous = [content[0], content[1], content[2]]; // var multiSelectionDiscontiguous = [content[0], content[2], content[4]]; // // var pane = SC.ControlTestPane.design({ height: 100 }) // .add("basic", SC.ListView, { // content: content, // contentValueKey: 'title' // }) // // .add("disabled", SC.ListView, { // isEnabled: NO, // content: content, // contentValueKey: 'title' // }) // // .add("disabled - single selection", SC.ListView, { // isEnabled: NO, // content: content, // contentValueKey: 'title', // selection: singleSelection // }) // // .add("single selection", SC.ListView, { // content: content, // contentValueKey: 'title', // selection: singleSelection // }) // // .add("multiple selection, contiguous", SC.ListView, { // content: content, // contentValueKey: 'title', // selection: multiSelectionContiguous // }) // // .add("multiple selection, discontiguous", SC.ListView, { // content: content, // contentValueKey: 'title', // selection: multiSelectionDiscontiguous // }) // // pane.show(); // add a test to show the test pane // .......................................................... // TEST PANE // module('SC.ControlTestPane UI'); test("showing/removing a pane", function() { var pane = SC.ControlTestPane.design() ; pane = pane.create() ; ok(pane.$().hasClass('sc-control-test-pane'), 'should have class sc-control-test-pane'); ok(pane.get('isVisible'), 'control test pane should be visible after we create it'); ok(pane.get('isVisibleInWindow'), 'control tast pane should be visible in the window after we create it'); pane.remove() ; ok(pane.get('isVisible'), 'control test pane still should be visible after we remove it'); ok(!pane.get('isVisibleInWindow'), 'control tast pane should NOT be visible in the window after we remove it'); }); test("adding named children to the pane", function() { var pane = SC.ControlTestPane.design() ; pane.add('first', SC.View) ; pane.add('second', SC.View) ; pane.add('third', SC.View) ; equals(pane.prototype.childViews.length, 6, 'control test pane has correct number of children before create') ; pane = pane.create() ; equals(pane.getPath('childViews.length'), 6, 'control test pane has correct number of children after create') ; var childViews = pane.get('childViews') ; var firstLabel = childViews[0] ; equals(firstLabel.$().text(), 'first:', 'first label should be correct') ; var secondLabel = childViews[2] ; equals(secondLabel.$().text(), 'second:', 'second label should be correct') ; var thirdLabel = childViews[4] ; equals(thirdLabel.$().text(), 'third:', 'third label should be correct') ; var paneLayer = pane.get('layer') ; for (var idx=0, len=6; idx<len; ++idx) { var view = childViews[idx] ; var layer = view.get('layer') ; equals(layer.parentNode, paneLayer, 'control test pane childView has layer with correct parentNode'); } pane.remove() ; });
})();