summaryrefslogtreecommitdiffstats
path: root/doc/backends/deckjs/deck.js/test/spec.menu.js
diff options
context:
space:
mode:
authorYaroslav Brustinov <ybrustin@cisco.com>2016-11-07 10:36:10 +0200
committerYaroslav Brustinov <ybrustin@cisco.com>2016-11-07 10:36:10 +0200
commit93dc74335a8082e0f54b1da7f6fc6e43ff3c10ee (patch)
tree3befab98de04fdbb63807c6db1844028ae50d8b6 /doc/backends/deckjs/deck.js/test/spec.menu.js
parentbdd1dea5e21a00b6af1b0ded09e7d528485d5196 (diff)
parent5925379b5fb30e548f1ba4e804af9865de8903ae (diff)
Add 'doc/' from commit '5925379b5fb30e548f1ba4e804af9865de8903ae'
git-subtree-dir: doc git-subtree-mainline: bdd1dea5e21a00b6af1b0ded09e7d528485d5196 git-subtree-split: 5925379b5fb30e548f1ba4e804af9865de8903ae
Diffstat (limited to 'doc/backends/deckjs/deck.js/test/spec.menu.js')
-rw-r--r--doc/backends/deckjs/deck.js/test/spec.menu.js83
1 files changed, 83 insertions, 0 deletions
diff --git a/doc/backends/deckjs/deck.js/test/spec.menu.js b/doc/backends/deckjs/deck.js/test/spec.menu.js
new file mode 100644
index 00000000..3abca9fc
--- /dev/null
+++ b/doc/backends/deckjs/deck.js/test/spec.menu.js
@@ -0,0 +1,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);
+ });
+ });
+
+});