add a couple of DomUtil tests, #1347

This commit is contained in:
Vladimir Agafonkin 2013-02-05 17:01:01 +02:00
parent f01e32d764
commit c327fa89ee

View File

@ -1,28 +1,28 @@
describe('DomUtil', function() { describe('DomUtil', function() {
var el; var el;
beforeEach(function() { beforeEach(function() {
el = document.createElement('div'); el = document.createElement('div');
el.style.position = 'absolute'; el.style.position = 'absolute';
el.style.top = el.style.left = '-10000px'; el.style.top = el.style.left = '-10000px';
document.body.appendChild(el); document.body.appendChild(el);
}); });
afterEach(function() { afterEach(function() {
document.body.removeChild(el); document.body.removeChild(el);
}); });
describe('#get', function() { describe('#get', function() {
it('should get element by id if the given argument is string', function() { it('should get element by id if the given argument is string', function() {
el.id = 'testId'; el.id = 'testId';
expect(L.DomUtil.get(el.id)).toBe(el); expect(L.DomUtil.get(el.id)).toBe(el);
}); });
it('should return the element if it is given as an argument', function() { it('should return the element if it is given as an argument', function() {
expect(L.DomUtil.get(el)).toBe(el); expect(L.DomUtil.get(el)).toBe(el);
}); });
}); });
describe('#addClass, #removeClass, #hasClass', function() { describe('#addClass, #removeClass, #hasClass', function() {
it('should has defined class for test element', function() { it('should has defined class for test element', function() {
el.className = 'bar foo baz '; el.className = 'bar foo baz ';
@ -31,29 +31,57 @@ describe('DomUtil', function() {
expect(L.DomUtil.hasClass(el, 'baz')).toBeTruthy(); expect(L.DomUtil.hasClass(el, 'baz')).toBeTruthy();
expect(L.DomUtil.hasClass(el, 'boo')).toBeFalsy(); expect(L.DomUtil.hasClass(el, 'boo')).toBeFalsy();
}); });
it('should properly addClass and removeClass for element', function() { it('should properly addClass and removeClass for element', function() {
el.className = ''; el.className = '';
L.DomUtil.addClass(el, 'foo'); L.DomUtil.addClass(el, 'foo');
expect(el.className).toEqual('foo'); expect(el.className).toEqual('foo');
expect(L.DomUtil.hasClass(el, 'foo')).toBeTruthy(); expect(L.DomUtil.hasClass(el, 'foo')).toBeTruthy();
L.DomUtil.addClass(el, 'bar'); L.DomUtil.addClass(el, 'bar');
expect(el.className).toEqual('foo bar'); expect(el.className).toEqual('foo bar');
expect(L.DomUtil.hasClass(el, 'foo')).toBeTruthy(); expect(L.DomUtil.hasClass(el, 'foo')).toBeTruthy();
L.DomUtil.removeClass(el, 'foo'); L.DomUtil.removeClass(el, 'foo');
expect(el.className).toEqual('bar'); expect(el.className).toEqual('bar');
expect(L.DomUtil.hasClass(el, 'foo')).toBeFalsy(); expect(L.DomUtil.hasClass(el, 'foo')).toBeFalsy();
el.className = 'foo bar barz'; el.className = 'foo bar barz';
L.DomUtil.removeClass(el, 'bar'); L.DomUtil.removeClass(el, 'bar');
expect(el.className).toEqual('foo barz'); expect(el.className).toEqual('foo barz');
}) })
}); });
describe('#documentIsLtr', function () {
it('should return true if doc direction is ltr', function () {
expect(L.DomUtil.documentIsLtr()).toBe(true);
expect(L.DomUtil.documentIsLtr()).toBe(true); // cached
});
});
describe('#getViewportOffset', function () {
var div = document.createElement('div');
div.style.position = 'absolute';
div.style.top = '100px';
div.style.left = '200px';
div.style.border = '10px solid black';
div.style.padding = '50px';
div.style.visibility = 'hidden';
var div2 = document.createElement('div');
div.style.marginTop = '100px';
div.appendChild(div2);
document.body.appendChild(div);
expect(L.DomUtil.getViewportOffset(div2)).toEqual(new L.Point(260, 260));
document.body.removeChild(div);
});
describe('#setPosition', noSpecs); describe('#setPosition', noSpecs);
describe('#getStyle', noSpecs); describe('#getStyle', noSpecs);
}); });