annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 describe('Deck JS Navigation Buttons', function() {
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 beforeEach(function() {
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 loadFixtures('standard.html');
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 if (Modernizr.history) {
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 history.replaceState({}, "", "#")
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 }
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 else {
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 window.location.hash = '#';
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 }
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 $.deck('.slide');
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 });
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 it('should go to the next slide if next link is clicked', function() {
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 $(defaults.selectors.nextLink).click();
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 expect($.deck('getSlide')).toHaveClass('slide2');
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 });
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 it('should go to the previous slide if previous link is clicked', function() {
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 $.deck('go', 2);
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 $(defaults.selectors.previousLink).click();
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 expect($.deck('getSlide')).toHaveClass('slide2');
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 });
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 it('should add the disabled class to the previous link if on first slide', function() {
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 expect($(defaults.selectors.previousLink)).toHaveClass(defaults.classes.navDisabled);
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 $(defaults.selectors.nextLink).click();
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 expect($(defaults.selectors.previousLink)).not.toHaveClass(defaults.classes.navDisabled);
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 $(defaults.selectors.previousLink).click();
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 expect($(defaults.selectors.previousLink)).toHaveClass(defaults.classes.navDisabled);
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 });
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 it('should add the disabled class to the next link if on last slide', function() {
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 expect($(defaults.selectors.nextLink)).not.toHaveClass(defaults.classes.navDisabled);
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 $.deck('go', $.deck('getSlides').length - 1);
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 expect($(defaults.selectors.nextLink)).toHaveClass(defaults.classes.navDisabled);
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 });
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 it('should not start disabled if deck initialized in the middle', function() {
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 $.deck('go', 2);
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 $.deck('.slide');
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 expect($(defaults.selectors.previousLink)).not.toHaveClass(defaults.classes.navDisabled);
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 });
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 it('should update the links hrefs with real fragment ids', function() {
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 expect($(defaults.selectors.previousLink).attr('href')).toMatch(/#$/);
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 expect($(defaults.selectors.nextLink).attr('href')).toMatch('#custom-id');
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 $.deck('go', 2);
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 expect($(defaults.selectors.previousLink).attr('href')).toMatch('#custom-id');
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 expect($(defaults.selectors.nextLink).attr('href')).toMatch('#slide-3');
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 });
dd1c78c6398f add having slides
taiki <taiki@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 });