UNPKG

extjs-gpl

Version:

GPL licensed version of Sencha Ext JS

151 lines (127 loc) 5.23 kB
describe("Ext.Element.style", function() { var testEl; beforeEach(function() { testEl = Ext.getBody().createChild({ id : 'ExtElementHelper', style : 'position:absolute;' }); }); afterEach(function() { testEl.destroy(); }); describe('addCls', function () { xit('should add one class', function () { testEl.addCls('foo'); expect(testEl.dom.className).toEqual('foo'); }); it('should add two class', function () { testEl.addCls('foo').addCls('bar'); expect(testEl.dom.className).toEqual('foo bar'); }); xit('should add one class when given duplicates', function () { testEl.addCls('foo').addCls('foo'); expect(testEl.dom.className).toEqual('foo'); }); xit('should add two class at once', function () { testEl.addCls('foo bar').addCls('bar'); expect(testEl.dom.className).toEqual('foo bar'); }); xit('should add two class at once and handle duplicates', function () { testEl.addCls('foo bar').addCls('bar foo'); expect(testEl.dom.className).toEqual('foo bar'); }); }); describe('removeCls', function () { it('should remove nothing if no classes', function () { testEl.removeCls('bar'); expect(testEl.dom.className).toEqual(''); }); it('should remove nothing if class is not present', function () { testEl.dom.className = 'foo bar'; testEl.removeCls('fbar'); expect(testEl.dom.className).toEqual('foo bar'); }); it('should remove only class', function () { testEl.dom.className = 'foo'; testEl.removeCls('foo'); expect(testEl.dom.className).toEqual(''); }); it('should remove last class', function () { testEl.dom.className = 'foo bar'; testEl.removeCls('bar'); expect(testEl.dom.className).toEqual('foo'); }); it('should remove first class', function () { testEl.dom.className = 'foo bar'; testEl.removeCls('bar'); expect(testEl.dom.className).toEqual('foo'); }); it('should remove middle class', function () { testEl.dom.className = 'foo bar jazz'; testEl.removeCls('bar'); expect(testEl.dom.className).toEqual('foo jazz'); }); it('should remove multiple classes', function () { testEl.dom.className = 'foo bar jazz spud'; testEl.removeCls('jazz bar fff'); expect(testEl.dom.className).toEqual('foo spud'); }); it('should remove multiple classes sequentially', function () { testEl.dom.className = 'foo bar jazz spud'; testEl.removeCls('jazz').removeCls('bar').removeCls('fff'); expect(testEl.dom.className).toEqual('foo spud'); }); }); describe('getStyle', function(){ var el, dom; beforeEach(function(){ dom = document.createElement('div'); testEl.appendChild(dom); el = Ext.get(dom); }); afterEach(function(){ el.destroy(); }); describe('border-*-width', function(){ Ext.Array.forEach('top right bottom left'.split(' '), function(side){ it('must report the correct border-'+ side +'-width when the border-'+ side +'-style is "solid"', function(){ dom.style.cssText = 'border:5px solid'; expect(el.getStyle('border-'+ side +'-width')).toBe('5px'); }); it('must report 0px for border-'+ side +'-width when the border-'+ side +'-style is "none"', function(){ dom.style.cssText = 'border:5px solid; border-' + side + '-style:none'; expect(el.getStyle('border-'+ side +'-width')).toBe('0px'); }); }); }); }); describe('setStyle', function() { var el, dom; beforeEach(function(){ dom = document.createElement('div'); testEl.appendChild(dom); el = Ext.get(dom); }); afterEach(function(){ el.destroy(); }); describe('font-size', function() { it('should set the font size', function() { el.setStyle('font-size', '50px'); expect(el.getStyle('font-size')).toEqual('50px'); }); }); describe('font-sstyle', function() { it('should set the font style', function() { el.setStyle('font-style', 'italic'); expect(el.getStyle('font-style')).toEqual('italic'); }); }); describe('font-family', function() { it('should set the font family', function() { el.setStyle('font-family', 'Courier'); expect(el.getStyle('font-family').toLowerCase().indexOf('courier')).toBeGreaterThan(-1); }); }); }); }, "/src/dom/Element.style.js");