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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
describe('Deck JS Menu', function() {
var $d = $(document);
var dsc = defaults.selectors.container;
beforeEach(function() {
loadFixtures('standard.html');
if (Modernizr.history) {
history.replaceState({}, "", "#")
}
else {
window.location.hash = '#';
}
$.deck('.slide');
});
describe('showMenu()', function() {
it('should show the menu', function() {
expect($(dsc)).not.toHaveClass(defaults.classes.menu);
$.deck('showMenu');
expect($(dsc)).toHaveClass(defaults.classes.menu);
});
it('should do nothing if menu is already showing', function() {
if (Modernizr.csstransforms) {
$.deck('showMenu');
$.deck('showMenu');
$.deck('hideMenu');
expect($('.slide').attr('style')).toBeFalsy();
}
});
});
describe('hideMenu()', function() {
it('should hide the menu', function() {
$.deck('showMenu');
$.deck('hideMenu');
expect($(dsc)).not.toHaveClass(defaults.classes.menu);
});
});
describe('toggleMenu()', function() {
it('should toggle menu on and off', function() {
expect($(dsc)).not.toHaveClass(defaults.classes.menu);
$.deck('toggleMenu');
expect($(dsc)).toHaveClass(defaults.classes.menu);
$.deck('toggleMenu');
expect($(dsc)).not.toHaveClass(defaults.classes.menu);
});
});
describe('key bindings', function() {
var e;
beforeEach(function() {
e = jQuery.Event('keydown.deckmenu');
});
it('should toggle the menu if the specified key is pressed', function() {
e.which = 77; // m
$d.trigger(e);
expect($(dsc)).toHaveClass(defaults.classes.menu);
$d.trigger(e);
expect($(dsc)).not.toHaveClass(defaults.classes.menu);
});
});
describe('touch bindings', function() {
var estart, eend;
beforeEach(function() {
estart = jQuery.Event('touchstart.deckmenu');
eend = jQuery.Event('touchend.deckmenu');
});
it('should toggle the menu if the screen is touched', function() {
$.deck('getOptions').touch.doubletapWindow = Date.now() + 100000;
$.deck('getContainer').trigger(estart);
$.deck('getContainer').trigger(eend);
expect($(dsc)).toHaveClass(defaults.classes.menu);
});
});
});
|