1 describe('Deck JS Navigation Buttons', function() {
2 beforeEach(function() {
3 loadFixtures('standard.html');
4 if (Modernizr
.history
) {
5 history
.replaceState({}, "", "#")
8 window
.location
.hash
= '#';
13 it('should go to the next slide if next link is clicked', function() {
14 $(defaults
.selectors
.nextLink
).click();
15 expect($.deck('getSlide')).toHaveClass('slide2');
18 it('should go to the previous slide if previous link is clicked', function() {
20 $(defaults
.selectors
.previousLink
).click();
21 expect($.deck('getSlide')).toHaveClass('slide2');
24 it('should add the disabled class to the previous link if on first slide', function() {
25 expect($(defaults
.selectors
.previousLink
)).toHaveClass(defaults
.classes
.navDisabled
);
26 $(defaults
.selectors
.nextLink
).click();
27 expect($(defaults
.selectors
.previousLink
)).not
.toHaveClass(defaults
.classes
.navDisabled
);
28 $(defaults
.selectors
.previousLink
).click();
29 expect($(defaults
.selectors
.previousLink
)).toHaveClass(defaults
.classes
.navDisabled
);
32 it('should add aria-disabled to previous link if on first slide', function() {
34 expect($(defaults
.selectors
.previousLink
)).toHaveAttr('aria-disabled', 'true');
37 it('should add the disabled class to the next link if on last slide', function() {
38 expect($(defaults
.selectors
.nextLink
)).not
.toHaveClass(defaults
.classes
.navDisabled
);
39 $.deck('go', $.deck('getSlides').length
- 1);
40 expect($(defaults
.selectors
.nextLink
)).toHaveClass(defaults
.classes
.navDisabled
);
43 it('should add aria-disabled to next link if on last slide', function() {
44 $.deck('go', $.deck('getSlides').length
- 1);
45 expect($(defaults
.selectors
.nextLink
)).toHaveAttr('aria-disabled', 'true');
48 it('should not start disabled if deck initialized in the middle', function() {
52 return !$(defaults
.selectors
.previousLink
).hasClass(defaults
.classes
.navDisabled
);
56 it('should update the links hrefs with real fragment ids', function() {
57 expect($(defaults
.selectors
.previousLink
).attr('href')).toMatch(/#$/);
58 expect($(defaults
.selectors
.nextLink
).attr('href')).toMatch('#custom-id');
60 expect($(defaults
.selectors
.previousLink
).attr('href')).toMatch('#custom-id');
61 expect($(defaults
.selectors
.nextLink
).attr('href')).toMatch('#slide-3');