Mercurial > hg > Members > taiki > slides
diff deck.js/test/spec.navigation.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.navigation.js Mon Mar 25 05:14:03 2013 +0900 @@ -0,0 +1,51 @@ +describe('Deck JS Navigation Buttons', function() { + beforeEach(function() { + loadFixtures('standard.html'); + if (Modernizr.history) { + history.replaceState({}, "", "#") + } + else { + window.location.hash = '#'; + } + $.deck('.slide'); + }); + + it('should go to the next slide if next link is clicked', function() { + $(defaults.selectors.nextLink).click(); + expect($.deck('getSlide')).toHaveClass('slide2'); + }); + + it('should go to the previous slide if previous link is clicked', function() { + $.deck('go', 2); + $(defaults.selectors.previousLink).click(); + expect($.deck('getSlide')).toHaveClass('slide2'); + }); + + it('should add the disabled class to the previous link if on first slide', function() { + expect($(defaults.selectors.previousLink)).toHaveClass(defaults.classes.navDisabled); + $(defaults.selectors.nextLink).click(); + expect($(defaults.selectors.previousLink)).not.toHaveClass(defaults.classes.navDisabled); + $(defaults.selectors.previousLink).click(); + expect($(defaults.selectors.previousLink)).toHaveClass(defaults.classes.navDisabled); + }); + + it('should add the disabled class to the next link if on last slide', function() { + expect($(defaults.selectors.nextLink)).not.toHaveClass(defaults.classes.navDisabled); + $.deck('go', $.deck('getSlides').length - 1); + expect($(defaults.selectors.nextLink)).toHaveClass(defaults.classes.navDisabled); + }); + + it('should not start disabled if deck initialized in the middle', function() { + $.deck('go', 2); + $.deck('.slide'); + expect($(defaults.selectors.previousLink)).not.toHaveClass(defaults.classes.navDisabled); + }); + + it('should update the links hrefs with real fragment ids', function() { + expect($(defaults.selectors.previousLink).attr('href')).toMatch(/#$/); + expect($(defaults.selectors.nextLink).attr('href')).toMatch('#custom-id'); + $.deck('go', 2); + expect($(defaults.selectors.previousLink).attr('href')).toMatch('#custom-id'); + expect($(defaults.selectors.nextLink).attr('href')).toMatch('#slide-3'); + }); +}); \ No newline at end of file