X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/530ef4b6c5b943cfa68b779d11cf7de29aa878bf..0494b8d9b9bb03ab6c22b34dae81261e3cd7e3e6:/test/unit/widgets/layout/VBoxLayout.js diff --git a/test/unit/widgets/layout/VBoxLayout.js b/test/unit/widgets/layout/VBoxLayout.js index 840c7e90..1396e47c 100644 --- a/test/unit/widgets/layout/VBoxLayout.js +++ b/test/unit/widgets/layout/VBoxLayout.js @@ -1,8 +1,8 @@ /*! - * Ext JS Library 3.2.1 - * Copyright(c) 2006-2010 Ext JS, Inc. - * licensing@extjs.com - * http://www.extjs.com/license + * Ext JS Library 3.3.1 + * Copyright(c) 2006-2010 Sencha Inc. + * licensing@sencha.com + * http://www.sencha.com/license */ /** * Tests Ext.data.Store functionality @@ -205,6 +205,95 @@ } })); + suite.add(new Y.Test.Case({ + name: 'minHeight of items', + + setUp: function() { + this.layout = buildLayout(); + + this.layout.beforeCt = { + getWidth: function() { + return 0; + }, + createChild: Ext.emptyFn + }; + + this.layout.afterCt = { + getWidth: function() { + return 0; + }, + createChild: Ext.emptyFn + }; + + this.items = [ + buildFakeChild({height: 100, minHeight: 100}), + buildFakeChild({height: 200, minHeight: 120}), + buildFakeChild({height: 200, minHeight: 120}), + buildFakeChild({height: 200, minHeight: 120}) + ]; + }, + + testAvailableWidthIsSufficient: function() { + var targetSize = { + height: 700, + width : 25 + }; + + var calcs = this.layout.calculateChildBoxes(this.items, targetSize), + boxes = calcs.boxes; + + assert.areEqual(0, boxes[0].top); + assert.areEqual(100, boxes[1].top); + assert.areEqual(300, boxes[2].top); + assert.areEqual(500, boxes[3].top); + + assert.areEqual(100, boxes[0].height); + assert.areEqual(200, boxes[1].height); + assert.areEqual(200, boxes[2].height); + assert.areEqual(200, boxes[3].height); + }, + + testHasShortfall: function() { + var targetSize = { + height: 500, + width : 25 + }; + + var calcs = this.layout.calculateChildBoxes(this.items, targetSize), + boxes = calcs.boxes; + + assert.areEqual(100, boxes[0].height); + assert.areEqual(133, boxes[1].height); + assert.areEqual(133, boxes[2].height); + assert.areEqual(134, boxes[3].height); + + assert.areEqual(0, boxes[0].top); + assert.areEqual(100, boxes[1].top); + assert.areEqual(233, boxes[2].top); + assert.areEqual(366, boxes[3].top); + }, + + testTooNarrow: function() { + var targetSize = { + height: 400, + width : 25 + }; + + var calcs = this.layout.calculateChildBoxes(this.items, targetSize), + boxes = calcs.boxes; + + assert.areEqual(0, boxes[0].top); + assert.areEqual(100, boxes[1].top); + assert.areEqual(220, boxes[2].top); + assert.areEqual(340, boxes[3].top); + + assert.areEqual(100, boxes[0].height); + assert.areEqual(120, boxes[1].height); + assert.areEqual(120, boxes[2].height); + assert.areEqual(120, boxes[3].height); + } + })); + suite.add(new Y.Test.Case({ name: 'aligning',