Mercurial > hg > Members > taiki > slides
diff deck.js/test/spec.menu.js @ 0:dd1c78c6398f
add having slides
author | taiki <taiki@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 Mar 2013 05:14:03 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deck.js/test/spec.menu.js Mon Mar 25 05:14:03 2013 +0900 @@ -0,0 +1,66 @@ +describe('Deck JS Menu', function() { + var $d = $(document), + 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); + }); + }); +}); \ No newline at end of file