X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/2e847cf21b8ab9d15fa167b315ca5b2fa92638fc..6a7e4474cba9d8be4b2ec445e10f1691f7277c50:/test/unit/widgets/layout/ContainerLayout.js diff --git a/test/unit/widgets/layout/ContainerLayout.js b/test/unit/widgets/layout/ContainerLayout.js new file mode 100644 index 00000000..eabf8e13 --- /dev/null +++ b/test/unit/widgets/layout/ContainerLayout.js @@ -0,0 +1,160 @@ +/*! + * Ext JS Library 3.2.0 + * Copyright(c) 2006-2010 Ext JS, Inc. + * licensing@extjs.com + * http://www.extjs.com/license + */ +/** + * Tests Ext.data.Store functionality + * @author Ed Spencer + */ +(function() { + var suite = Ext.test.session.getSuite('Ext.layout.ContainerLayout'), + assert = Y.Assert; + + function buildLayout(config) { + var layout = new Ext.layout.FormLayout(config || {}); + + //give a mock container + layout.container = { + itemCls: 'ctCls' + }; + + return layout; + }; + + suite.add(new Y.Test.Case({ + name: 'parseMargins', + + setUp: function() { + this.cont = new Ext.layout.ContainerLayout(); + }, + + testParseFromNumber: function() { + var res = this.cont.parseMargins(10); + + assert.areEqual(10, res.top); + assert.areEqual(10, res.right); + assert.areEqual(10, res.bottom); + assert.areEqual(10, res.left); + }, + + testParseFromString: function() { + var res = this.cont.parseMargins("10"); + + assert.areEqual(10, res.top); + assert.areEqual(10, res.right); + assert.areEqual(10, res.bottom); + assert.areEqual(10, res.left); + }, + + testParseFromTwoArgString: function() { + var res = this.cont.parseMargins("10 5"); + + assert.areEqual(10, res.top); + assert.areEqual(5, res.right); + assert.areEqual(10, res.bottom); + assert.areEqual(5, res.left); + }, + + testParseFromThreeArgString: function() { + var res = this.cont.parseMargins("10 5 2"); + + assert.areEqual(10, res.top); + assert.areEqual(5, res.right); + assert.areEqual(2, res.bottom); + assert.areEqual(5, res.left); + }, + + testParseFromFourArgString: function() { + var res = this.cont.parseMargins("10 5 2 1"); + + assert.areEqual(10, res.top); + assert.areEqual(5, res.right); + assert.areEqual(2, res.bottom); + assert.areEqual(1, res.left); + } + })); + + suite.add(new Y.Test.Case({ + name: 'configureItem', + + setUp: function() { + this.layout = new Ext.layout.ContainerLayout({ + extraCls: 'myExtraClass' + }); + + //mock component object + this.component = { + addClass: Ext.emptyFn, + doLayout: Ext.emptyFn + }; + }, + + testAddsExtraCls: function() { + var layout = this.layout; + + var addedClass = ""; + + //mock component object + c = { + addClass: function(cls) { + addedClass = cls; + } + }; + + layout.configureItem(c, 0); + + assert.areEqual('myExtraClass', addedClass); + }, + + testAddsExtraClsToPositionEl: function() { + var layout = this.layout; + + var addedClass = ""; + + //mock component object + c = { + getPositionEl: function() { + return posEl; + } + }; + + //mock position el + posEl = { + addClass: function(cls) { + addedClass = cls; + } + }; + + layout.configureItem(c, 0); + + assert.areEqual('myExtraClass', addedClass); + }, + + testLaysOutIfForced: function() { + var laidOut = false; + + var layout = this.layout, + comp = this.component; + + //mock component object + comp.doLayout = function() { + laidOut = true; + }; + + layout.configureItem(comp, 0); + + assert.isFalse(laidOut); + + layout.forceLayout = true; + layout.configureItem(comp, 0); + + assert.isTrue(laidOut); + }, + + testHidesIfRenderHidden: function() { + + } + })); +})(); \ No newline at end of file