App-revealup

 view release on metacpan or  search on metacpan

share/revealjs/test/test.html  view on Meta::CPAN

					Reveal.slide( 2, 2, 0 );
					assert.strictEqual( Reveal.getSlidePath(), '/fragments3' );

					Reveal.slide( 2, 2, 1 );
					assert.strictEqual( Reveal.getSlidePath(), '/fragments3' );
				});

				QUnit.test( 'Write (fragmentInURL: true)', function( assert ) {
					Reveal.configure({ hash: true, fragmentInURL: true });

					Reveal.slide( 2, 0, -1 );
					assert.strictEqual( Reveal.getSlidePath(), '/2' );

					Reveal.slide( 2, 1, -1 );
					assert.strictEqual( Reveal.getSlidePath(), '/2/1' );

					Reveal.slide( 2, 0, 1 );
					assert.strictEqual( Reveal.getSlidePath(), '/2/0/1' );

					Reveal.slide( 2, 2, -1 );
					assert.strictEqual( Reveal.getSlidePath(), '/fragments3' );

					Reveal.slide( 2, 2, 1 );
					assert.strictEqual( Reveal.getSlidePath(), '/fragments3/1' );
				});

				QUnit.test( 'Read', async function( assert ) {
					Reveal.configure({ hash: true, fragmentInURL: true });

					let test = function( hash, indices ) {
						return new Promise( resolve => {
							window.onhashchange = () => {
								assert.deepEqual( Reveal.getIndices(), indices );
								resolve();
							};
							window.location.hash = hash;
						} );
					}

					await test( '#/0', { h: 0, v: 0, f: undefined } ); // horizontal
					await test( '#/1/1', { h: 1, v: 1, f: undefined } ); // vertical
					await test( '#/0/', { h: 0, v: 0, f: undefined } ); // trailing /
					await test( '#/1/1/', { h: 1, v: 1, f: undefined } ); // trailing /
					await test( '#/2/0/1', { h: 2, v: 0, f: 1 } ); // fragment
				});

				// ---------------------------------------------------------------
				// KEYBOARD TESTS

				QUnit.module( 'Keyboard' );

				QUnit.test( 'Add key bindings', function( assert ) {
					var done = assert.async( 1 );

					Reveal.addKeyBinding({keyCode: 88, key: 'X', description: 'X-SHORTCUT-X'}, function() {
						assert.ok( true, 'callback triggered' );
						done();
					} );

					Reveal.toggleHelp( true );
					assert.ok( /X\-SHORTCUT\-X/.test( document.body.innerHTML ), 'binding is added to help overlay' );
					Reveal.toggleHelp( false );

					triggerKeyboardEvent({ keyCode: 88 });

					Reveal.removeKeyBinding( 88 );

					// should do nothing
					triggerKeyboardEvent({ keyCode: 88 });
				});

				QUnit.test( 'Navigation bindings', function( assert ) {
					Reveal.slide( 0 );

					// right arrow
					triggerKeyboardEvent({ keyCode: 39 });
					assert.strictEqual( Reveal.getIndices().h, 1 );

					// down arrow + shift
					triggerKeyboardEvent({ keyCode: 40, shiftKey: true });
					assert.strictEqual( Reveal.getIndices().v, 2, 'shift + down arrow goes to last vertical slide' );

					// up arrow
					triggerKeyboardEvent({ keyCode: 38 });
					assert.strictEqual( Reveal.getIndices().v, 1 );

					// right arrow + shift
					triggerKeyboardEvent({ keyCode: 39, shiftKey: true });
					assert.ok( Reveal.isLastSlide(), 'shift + right arrow goes to last horizontal slide' );


					// right arrow on slide with fragments
					Reveal.slide( 2, 0, -1 );
					triggerKeyboardEvent({ keyCode: 39 });
					assert.deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 0 }, 'right arrow shows fragment' );

					triggerKeyboardEvent({ keyCode: 39, altKey: true });
					assert.strictEqual( Reveal.getIndices().h, 3, 'right arrow skips fragments when alt key is pressed' );
				});

				// ---------------------------------------------------------------
				// FRAGMENT TESTS

				QUnit.module( 'Fragments' );

				QUnit.test( 'Sliding to fragments', function( assert ) {
					Reveal.slide( 2, 0, -1 );
					assert.deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: -1 }, 'Reveal.slide( 2, 0, -1 )' );

					Reveal.slide( 2, 0, 0 );
					assert.deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 0 }, 'Reveal.slide( 2, 0, 0 )' );

					Reveal.slide( 2, 0, 2 );
					assert.deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 2 }, 'Reveal.slide( 2, 0, 2 )' );

					Reveal.slide( 2, 0, 1 );
					assert.deepEqual( Reveal.getIndices(), { h: 2, v: 0, f: 1 }, 'Reveal.slide( 2, 0, 1 )' );
				});

				QUnit.test( 'data-fragment is set on slide <section>', function( assert ) {
					Reveal.slide( 2, 0, -1 );



( run in 2.380 seconds using v1.01-cache-2.11-cpan-f56aa216473 )