tests for plugins
This commit is contained in:
		| @@ -1591,7 +1591,7 @@ $controlsArrowAngleActive: 36deg; | |||||||
| } | } | ||||||
|  |  | ||||||
| .reveal .hljs[data-line-numbers]:not([data-line-numbers=""]) tr:not(.highlight-line) { | .reveal .hljs[data-line-numbers]:not([data-line-numbers=""]) tr:not(.highlight-line) { | ||||||
| 	opacity: 0.25; | 	opacity: 0.4; | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										92
									
								
								test/test-plugins.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								test/test-plugins.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,92 @@ | |||||||
|  | <!doctype html> | ||||||
|  | <html lang="en"> | ||||||
|  |  | ||||||
|  | 	<head> | ||||||
|  | 		<meta charset="utf-8"> | ||||||
|  |  | ||||||
|  | 		<title>reveal.js - Test Plugins</title> | ||||||
|  |  | ||||||
|  | 		<link rel="stylesheet" href="../css/reveal.css"> | ||||||
|  | 		<link rel="stylesheet" href="qunit-2.5.0.css"> | ||||||
|  | 	</head> | ||||||
|  |  | ||||||
|  | 	<body style="overflow: auto;"> | ||||||
|  |  | ||||||
|  | 		<div id="qunit"></div> | ||||||
|  | 		<div id="qunit-fixture"></div> | ||||||
|  |  | ||||||
|  | 		<div class="reveal" style="display: none;"> | ||||||
|  |  | ||||||
|  | 			<div class="slides"> | ||||||
|  |  | ||||||
|  | 				<section>Slide content</section> | ||||||
|  |  | ||||||
|  | 			</div> | ||||||
|  |  | ||||||
|  | 		</div> | ||||||
|  |  | ||||||
|  | 		<script src="../js/reveal.js"></script> | ||||||
|  | 		<script src="qunit-2.5.0.js"></script> | ||||||
|  |  | ||||||
|  | 		<script> | ||||||
|  |  | ||||||
|  | 			QUnit.module( 'Plugins' ); | ||||||
|  |  | ||||||
|  | 			var initCounter = { PluginB: 0, PluginC: 0, PluginD: 0 }; | ||||||
|  |  | ||||||
|  | 			// Plugin with no init method | ||||||
|  | 			var PluginA = {}; | ||||||
|  |  | ||||||
|  | 			// Plugin with init method | ||||||
|  | 			var PluginB = { init: function() { | ||||||
|  | 				initCounter['PluginB'] += 1; | ||||||
|  | 			} }; | ||||||
|  |  | ||||||
|  | 			// Async plugin with init method | ||||||
|  | 			var PluginC = { init: function() { | ||||||
|  | 				return new Promise(function( resolve ) { | ||||||
|  | 					setTimeout( () => { | ||||||
|  | 						initCounter['PluginC'] += 1; | ||||||
|  | 						resolve(); | ||||||
|  | 					}, 1000 ); | ||||||
|  | 				}); | ||||||
|  | 			} }; | ||||||
|  |  | ||||||
|  | 			// Plugin initialized after reveal.js is ready | ||||||
|  | 			var PluginD = { init: function() { | ||||||
|  | 				initCounter['PluginD'] += 1; | ||||||
|  | 			} }; | ||||||
|  |  | ||||||
|  | 			Reveal.registerPlugin( 'PluginA', PluginA ); | ||||||
|  | 			Reveal.registerPlugin( 'PluginB', PluginB ); | ||||||
|  | 			Reveal.registerPlugin( 'PluginC', PluginC ); | ||||||
|  |  | ||||||
|  | 			Reveal.initialize(); | ||||||
|  |  | ||||||
|  | 			QUnit.test( 'Can initialize synchronously', function( assert ) { | ||||||
|  | 				assert.strictEqual( initCounter['PluginB'], 1 ); | ||||||
|  |  | ||||||
|  | 				Reveal.registerPlugin( 'PluginB', PluginB ); | ||||||
|  |  | ||||||
|  | 				assert.strictEqual( initCounter['PluginB'], 1, 'prevents duplicate registration' ); | ||||||
|  | 			}); | ||||||
|  |  | ||||||
|  | 			QUnit.test( 'Can initialie asynchronously', function( assert ) { | ||||||
|  | 				assert.expect( 3 ); | ||||||
|  | 				var done = assert.async( 2 ); | ||||||
|  |  | ||||||
|  | 				assert.strictEqual( initCounter['PluginC'], 0, 'async plugin not immediately initialized' ); | ||||||
|  |  | ||||||
|  | 				Reveal.addEventListener( 'ready', function() { | ||||||
|  | 					assert.strictEqual( initCounter['PluginC'], 1, 'finsihed initializing when reveal.js dispatches "ready"' ); | ||||||
|  | 					done(); | ||||||
|  |  | ||||||
|  | 					Reveal.registerPlugin( 'PluginD', PluginD ); | ||||||
|  | 					assert.strictEqual( initCounter['PluginD'], 1, 'plugin registered after reveal.js is ready still initiailizes' ); | ||||||
|  | 					done(); | ||||||
|  | 				}); | ||||||
|  | 			} ); | ||||||
|  | 		</script> | ||||||
|  |  | ||||||
|  | 	</body> | ||||||
|  | </html> | ||||||
		Reference in New Issue
	
	Block a user