extjs-gpl
Version:
GPL licensed version of Sencha Ext JS
188 lines (160 loc) • 6.51 kB
JavaScript
describe("Ext.Element.static", function() {
var el, input, child1, child2, child3;
beforeEach(function() {
el = Ext.getBody().createChild({
id : 'ExtElementHelper',
style : 'position:absolute;',
children: [
{id: 'child1', style: 'position:absolute;'},
{id: 'child2', style: 'position:absolute;'},
{id: 'child3', style: 'position:absolute;'}
]
});
input = Ext.getBody().createChild({
id : 'ExtElementInputHelper',
tag : 'input',
type: 'text'
});
child1 = Ext.get('child1');
child2 = Ext.get('child2');
child3 = Ext.get('child3');
});
afterEach(function() {
el.destroy();
input.destroy();
child1.destroy();
child2.destroy();
child3.destroy();
});
describe("addUnits", function() {
it("should add the defualt unit", function() {
expect(Ext.Element.addUnits(10)).toEqual('10px');
});
it("should not add the defualt unit", function() {
expect(Ext.Element.addUnits('10px')).toEqual('10px');
});
});
describe("parseBox", function() {
describe("number", function() {
describe("when 1 argument", function() {
it("should return an object with correct values", function() {
expect(Ext.Element.parseBox(10)).toEqual({
top : 10,
right : 10,
bottom: 10,
left : 10
});
});
});
});
describe("string", function() {
describe("when 1 argument", function() {
it("should return an object with correct values", function() {
expect(Ext.Element.parseBox("10")).toEqual({
top : 10,
right : 10,
bottom: 10,
left : 10
});
});
});
describe("when 2 arguments", function() {
it("should return an object with correct values", function() {
expect(Ext.Element.parseBox("10 5")).toEqual({
top : 10,
right : 5,
bottom: 10,
left : 5
});
});
});
describe("when 3 arguments", function() {
it("should return an object with correct values", function() {
expect(Ext.Element.parseBox("10 5 15")).toEqual({
top : 10,
right : 5,
bottom: 15,
left : 5
});
});
});
describe("when 4 arguments", function() {
it("should return an object with correct values", function() {
expect(Ext.Element.parseBox("10 5 15 0")).toEqual({
top : 10,
right : 5,
bottom: 15,
left : 0
});
});
});
});
});
describe("unitizeBox", function() {
it("should return a string", function() {
expect(Ext.Element.unitizeBox('10 5 15 0')).toEqual('10px 5px 15px 0px');
});
});
describe("normalize", function() {
it("should change border-radius > borderRadius", function() {
expect(Ext.Element.normalize('border-radius')).toEqual('borderRadius');
});
});
describe("getDocumentHeight", function() {
it("should return the document height", function() {
var result = Ext.Element.getDocumentHeight();
expect(result).toBeDefined();
expect(Ext.isNumber(result)).toBeTruthy();
});
});
describe("getDocumentWidth", function() {
it("should return the document width", function() {
var result = Ext.Element.getDocumentWidth();
expect(result).toBeDefined();
expect(Ext.isNumber(result)).toBeTruthy();
});
});
describe("getViewportHeight", function() {
it("should return the window height", function() {
var result = Ext.Element.getViewportHeight();
expect(result).toBeDefined();
expect(Ext.isNumber(result)).toBeTruthy();
});
});
describe("getViewportWidth", function() {
it("should return the window width", function() {
var result = Ext.Element.getViewportWidth();
expect(result).toBeDefined();
expect(Ext.isNumber(result)).toBeTruthy();
});
});
describe("getViewSize", function() {
it("should return the window height and width", function() {
expect(Ext.Element.getViewSize()).toEqual({
width: Ext.isIE8 ? document.documentElement.scrollWidth : window.innerWidth,
height: Ext.isIE8 ? document.documentElement.scrollHeight : window.innerHeight
});
});
});
describe("getOrientation", function() {
it("should return the correct orientation", function() {
expect(Ext.Element.getOrientation()).toEqual((window.innerHeight > window.innerWidth) ? 'portrait' : 'landscape');
});
});
// See EXTJSIV-5800
describe("fromPoint", function() {
var todoIt = Ext.isSafari3 || Ext.isSafari4 || Ext.isOpera || Ext.isIE9m ? xit : it;
todoIt("should return nothing", function() {
expect(Ext.Element.fromPoint(-550000, -550000)).toBeNull();
});
});
// Not sure how to test Ext.Element in an iframe given the current infrastructure
describe("top object identifiers", function() {
it("should assign incremental id to window", function() {
expect(window.id).toBe('ext-window-1');
});
it("should assign incremental id to document", function() {
expect(document.id).toBe('ext-document-1');
});
});
}, "/src/dom/Element.static.js");