Leaflet/spec/suites/dom/DomUtilSpec.js
2011-07-15 19:03:35 +07:00

59 lines
1.7 KiB
JavaScript

describe('DomUtil', function() {
var el;
beforeEach(function() {
el = document.createElement('div');
el.style.position = 'absolute';
el.style.top = el.style.left = '-10000px';
document.body.appendChild(el);
});
afterEach(function() {
document.body.removeChild(el);
});
describe('#get', function() {
it('should get element by id if the given argument is string', function() {
el.id = 'testId';
expect(L.DomUtil.get(el.id)).toBe(el);
});
it('should return the element if it is given as an argument', function() {
expect(L.DomUtil.get(el)).toBe(el);
});
});
describe('#addClass, #removeClass, #hasClass', function() {
it('should has defined class for test element', function() {
el.className = 'bar foo baz ';
expect(L.DomUtil.hasClass(el, 'foo')).toBeTruthy();
expect(L.DomUtil.hasClass(el, 'bar')).toBeTruthy();
expect(L.DomUtil.hasClass(el, 'baz')).toBeTruthy();
expect(L.DomUtil.hasClass(el, 'boo')).toBeFalsy();
});
it('should properly addClass and removeClass for element', function() {
el.className = '';
L.DomUtil.addClass(el, 'foo');
expect(el.className).toEqual('foo');
expect(L.DomUtil.hasClass(el, 'foo')).toBeTruthy();
L.DomUtil.addClass(el, 'bar');
expect(el.className).toEqual('foo bar');
expect(L.DomUtil.hasClass(el, 'foo')).toBeTruthy();
L.DomUtil.removeClass(el, 'foo');
expect(el.className).toEqual('bar');
expect(L.DomUtil.hasClass(el, 'foo')).toBeFalsy();
el.className = 'foo bar barz';
L.DomUtil.removeClass(el, 'bar');
expect(el.className).toEqual('foo barz');
})
});
describe('#setPosition', noSpecs);
describe('#getStyle', noSpecs);
});