/
menu-item.spec.js
46 lines (35 loc) · 1.2 KB
/
menu-item.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
modules.define(
'spec',
['menu-item', 'i-bem__dom', 'jquery', 'BEMHTML'],
function(provide, MenuItem, BEMDOM, $, BEMHTML) {
describe('menu-item', function() {
var menuItem;
beforeEach(function() {
menuItem = BEMDOM
.init($(BEMHTML.apply({ block : 'menu-item', content : 'item' })).appendTo('body'))
.bem('menu-item');
});
afterEach(function() {
BEMDOM.destruct(menuItem.domElem);
});
describe('hovered', function() {
it('should be hovered/unhovered on mouseover/mouseleave', function() {
menuItem.hasMod('hovered').should.be.false;
menuItem.domElem.trigger('mouseover');
menuItem.hasMod('hovered').should.be.true;
menuItem.domElem.trigger('mouseleave');
menuItem.hasMod('hovered').should.be.false;
});
it('should not set hovered state if disabled', function() {
menuItem
.setMod('hovered')
.setMod('disabled')
.hasMod('hovered').should.be.false;
menuItem
.setMod('hovered')
.hasMod('hovered').should.be.false;
});
});
});
provide();
});