// show dom function showDom(path){ var arrElements = document.querySelectorAll(path); var element; for(var i=0,len=arrElements.length;i<len;i++){ element = arrElements[i]; element.style.display = element._lastDispaly || 'block'; element._lastDispaly = ''; } }
test( 'Reveal.getProgress', function() { Reveal.slide( 0, 0 ); strictEqual( Reveal.getProgress(), 0, 'progress is 0 on first slide' ); var lastSlideIndex = document.querySelectorAll( '.reveal .slides>section' ).length - 1; Reveal.slide( lastSlideIndex, 0 ); strictEqual( Reveal.getProgress(), 1, 'progress is 1 on last slide' ); });
this.api.execute(function (selector) { return document.querySelectorAll(selector).length }, [selector], function (res) { cb.call(self, res) })
test( 'Initial slides classes', function() { var horizontalSlides = document.querySelectorAll( '.reveal .slides>section' ) strictEqual( document.querySelectorAll( '.reveal .slides section.past' ).length, 0, 'no .past slides' ); strictEqual( document.querySelectorAll( '.reveal .slides section.present' ).length, 1, 'one .present slide' ); strictEqual( document.querySelectorAll( '.reveal .slides>section.future' ).length, horizontalSlides.length - 1, 'remaining horizontal slides are .future' ); strictEqual( document.querySelectorAll( '.reveal .slides section.stack' ).length, 2, 'two .stacks' ); ok( document.querySelectorAll( '.reveal .slides section.stack' )[0].querySelectorAll( '.future' ).length > 0, 'vertical slides are given .future' ); });
Reveal.addEventListener( 'ready', function() { QUnit.module( 'Markdown' ); test( 'Vertical separator', function() { strictEqual( document.querySelectorAll( '.reveal .slides>section>section' ).length, 2, 'found two slides' ); }); } );
test( 'Reveal.isLastSlide after vertical slide', function() { var lastSlideIndex = document.querySelectorAll( '.reveal .slides>section' ).length - 1; Reveal.slide( 1, 1 ); Reveal.slide( lastSlideIndex ); strictEqual( Reveal.isLastSlide(), true, 'true after Reveal.slide( 1, 1 ) and then Reveal.slide( '+ lastSlideIndex +', 0 )' ); });
// hide dom function hideDom(path){ var arrElements = document.querySelectorAll(path); var element; for(var i=0,len=arrElements.length;i<len;i++){ element = arrElements[i]; element._lastDispaly = element.style.display; element.style.display = 'none'; } }
test( 'iframe with data-src', function() { Reveal.slide( 0, 0 ); strictEqual( document.querySelectorAll( '.reveal section iframe[src]' ).length, 0, 'Iframe source is not set' ); Reveal.slide( 2, 1 ); strictEqual( document.querySelectorAll( '.reveal section iframe[src]' ).length, 1, 'Iframe source is set' ); Reveal.slide( 2, 2 ); strictEqual( document.querySelectorAll( '.reveal section iframe[src]' ).length, 0, 'Iframe source is not set' ); });
test( 'Fragment indices', function() { var fragmentSlide = document.querySelector( '#fragment-slides>section:nth-child(2)' ); Reveal.slide( 3, 0, 0 ); equal( fragmentSlide.querySelectorAll( '.fragment.visible' ).length, 2, 'both fragments of same index are shown' ); // This slide has three fragments, first one is index 0, second and third have index 1 Reveal.slide( 2, 2, 0 ); equal( Reveal.getIndices().f, 0, 'returns correct index for first fragment' ); Reveal.slide( 2, 2, 1 ); equal( Reveal.getIndices().f, 1, 'returns correct index for two fragments with same index' ); });
test( 'img with data-src', function() { strictEqual( document.querySelectorAll( '.reveal section img[src]' ).length, 1, 'Image source has been set' ); });
test( 'Current fragment', function() { var fragmentSlide = document.querySelector( '#fragment-slides>section:nth-child(1)' ); Reveal.slide( 2, 0 ); strictEqual( fragmentSlide.querySelectorAll( '.fragment.current-fragment' ).length, 0, 'no current fragment at index -1' ); Reveal.slide( 2, 0, 0 ); strictEqual( fragmentSlide.querySelectorAll( '.fragment.current-fragment' ).length, 1, 'one current fragment at index 0' ); Reveal.slide( 1, 0, 0 ); strictEqual( fragmentSlide.querySelectorAll( '.fragment.current-fragment' ).length, 0, 'no current fragment when navigating to previous slide' ); Reveal.slide( 3, 0, 0 ); strictEqual( fragmentSlide.querySelectorAll( '.fragment.current-fragment' ).length, 0, 'no current fragment when navigating to next slide' ); });
test( 'Reveal.isLastSlide', function() { Reveal.slide( 0, 0 ); strictEqual( Reveal.isLastSlide(), false, 'false after Reveal.slide( 0, 0 )' ); var lastSlideIndex = document.querySelectorAll( '.reveal .slides>section' ).length - 1; Reveal.slide( lastSlideIndex, 0 ); strictEqual( Reveal.isLastSlide(), true, 'true after Reveal.slide( '+ lastSlideIndex +', 0 )' ); Reveal.slide( 0, 0 ); strictEqual( Reveal.isLastSlide(), false, 'false after Reveal.slide( 0, 0 )' ); });
test( 'Stepping past fragments', function() { var fragmentSlide = document.querySelector( '#fragment-slides>section:nth-child(1)' ); Reveal.slide( 0, 0, 0 ); equal( fragmentSlide.querySelectorAll( '.fragment.visible' ).length, 0, 'no fragments visible when on previous slide' ); Reveal.slide( 3, 0, 0 ); equal( fragmentSlide.querySelectorAll( '.fragment.visible' ).length, 3, 'all fragments visible when on future slide' ); });
test( 'Hiding all fragments', function() { var fragmentSlide = document.querySelector( '#fragment-slides>section:nth-child(1)' ); Reveal.slide( 2, 0, 0 ); strictEqual( fragmentSlide.querySelectorAll( '.fragment.visible' ).length, 1, 'one fragment visible when index is 0' ); Reveal.slide( 2, 0, -1 ); strictEqual( fragmentSlide.querySelectorAll( '.fragment.visible' ).length, 0, 'no fragments visible when index is -1' ); });
test( 'video with data-src', function() { strictEqual( document.querySelectorAll( '.reveal section video[src]' ).length, 1, 'Video source has been set' ); });