test.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. Reveal.addEventListener( 'ready', function() {
  2. QUnit.module( 'API' );
  3. test( 'Reveal.isReady', function() {
  4. ok( Reveal.isReady() === true, 'returns true' );
  5. });
  6. test( 'Reveal.isOverview', function() {
  7. ok( Reveal.isOverview() === false, 'returns false' );
  8. Reveal.toggleOverview();
  9. ok( Reveal.isOverview() === true, 'returns true after toggling on' );
  10. Reveal.toggleOverview();
  11. ok( Reveal.isOverview() === false, 'returns false after toggling off' );
  12. });
  13. test( 'Reveal.isPaused', function() {
  14. ok( Reveal.isPaused() === false, 'returns false' );
  15. Reveal.togglePause();
  16. ok( Reveal.isPaused() === true, 'returns true after pausing' );
  17. Reveal.togglePause();
  18. ok( Reveal.isPaused() === false, 'returns false after resuming' );
  19. });
  20. test( 'Reveal.isFirstSlide', function() {
  21. Reveal.slide( 0 );
  22. ok( Reveal.isFirstSlide() === true, 'returns true after Reveal.slide( 0 )' );
  23. Reveal.slide( 1 );
  24. ok( Reveal.isFirstSlide() === false, 'returns false after Reveal.slide( 1 )' );
  25. Reveal.slide( 0 );
  26. ok( Reveal.isFirstSlide() === true, 'returns true after Reveal.slide( 0 )' );
  27. });
  28. test( 'Reveal.isLastSlide', function() {
  29. Reveal.slide( 0 );
  30. ok( Reveal.isLastSlide() === false, 'returns false after Reveal.slide( 0 )' );
  31. var lastSlideIndex = document.querySelectorAll( '.reveal .slides>section' ).length - 1;
  32. Reveal.slide( lastSlideIndex );
  33. ok( Reveal.isLastSlide() === true, 'returns true after Reveal.slide( '+ lastSlideIndex +' )' );
  34. Reveal.slide( 0 );
  35. ok( Reveal.isLastSlide() === false, 'returns false after Reveal.slide( 0 )' );
  36. });
  37. test( 'Reveal.getIndices', function() {
  38. var indices = Reveal.getIndices();
  39. ok( typeof indices.hasOwnProperty( 'h' ), 'h exists' );
  40. ok( typeof indices.hasOwnProperty( 'v' ), 'v exists' );
  41. ok( typeof indices.hasOwnProperty( 'f' ), 'f exists' );
  42. Reveal.slide( 1 );
  43. ok( Reveal.getIndices().h === 1 && Reveal.getIndices().v === 0, 'h 1, v 0' );
  44. Reveal.slide( 1, 2 );
  45. ok( Reveal.getIndices().h === 1 && Reveal.getIndices().v === 2, 'h 1, v 2' );
  46. Reveal.slide( 0 );
  47. });
  48. test( 'Reveal.getScale', function() {
  49. ok( typeof Reveal.getScale() === 'number', 'has scale' );
  50. });
  51. test( 'Reveal.getConfig', function() {
  52. ok( typeof Reveal.getConfig() === 'object', 'has config' );
  53. });
  54. QUnit.module( 'Events' );
  55. asyncTest( 'slidechanged', function() {
  56. expect( 1 );
  57. var _onSlideChanged = function( event ) {
  58. ok( true, 'event fired' );
  59. start();
  60. }
  61. Reveal.addEventListener( 'slidechanged', _onSlideChanged );
  62. // Should trigger the event
  63. Reveal.slide( 1 );
  64. // Should not trigger an event since it's the same #
  65. Reveal.slide( 1 );
  66. Reveal.removeEventListener( 'slidechanged', _onSlideChanged );
  67. });
  68. } );
  69. Reveal.initialize();