add unit tests #123
							parent
							
								
									8d7e93cfc6
								
							
						
					
					
						commit
						c7728ba659
					
				|  | @ -0,0 +1,244 @@ | |||
| /** | ||||
|  * QUnit v1.12.0 - A JavaScript Unit Testing Framework | ||||
|  * | ||||
|  * http://qunitjs.com | ||||
|  * | ||||
|  * Copyright 2012 jQuery Foundation and other contributors | ||||
|  * Released under the MIT license. | ||||
|  * http://jquery.org/license | ||||
|  */ | ||||
| 
 | ||||
| /** Font Family and Sizes */ | ||||
| 
 | ||||
| #qunit-tests, #qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult { | ||||
| 	font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial, sans-serif; | ||||
| } | ||||
| 
 | ||||
| #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; } | ||||
| #qunit-tests { font-size: smaller; } | ||||
| 
 | ||||
| 
 | ||||
| /** Resets */ | ||||
| 
 | ||||
| #qunit-tests, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult, #qunit-modulefilter { | ||||
| 	margin: 0; | ||||
| 	padding: 0; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /** Header */ | ||||
| 
 | ||||
| #qunit-header { | ||||
| 	padding: 0.5em 0 0.5em 1em; | ||||
| 
 | ||||
| 	color: #8699a4; | ||||
| 	background-color: #0d3349; | ||||
| 
 | ||||
| 	font-size: 1.5em; | ||||
| 	line-height: 1em; | ||||
| 	font-weight: normal; | ||||
| 
 | ||||
| 	border-radius: 5px 5px 0 0; | ||||
| 	-moz-border-radius: 5px 5px 0 0; | ||||
| 	-webkit-border-top-right-radius: 5px; | ||||
| 	-webkit-border-top-left-radius: 5px; | ||||
| } | ||||
| 
 | ||||
| #qunit-header a { | ||||
| 	text-decoration: none; | ||||
| 	color: #c2ccd1; | ||||
| } | ||||
| 
 | ||||
| #qunit-header a:hover, | ||||
| #qunit-header a:focus { | ||||
| 	color: #fff; | ||||
| } | ||||
| 
 | ||||
| #qunit-testrunner-toolbar label { | ||||
| 	display: inline-block; | ||||
| 	padding: 0 .5em 0 .1em; | ||||
| } | ||||
| 
 | ||||
| #qunit-banner { | ||||
| 	height: 5px; | ||||
| } | ||||
| 
 | ||||
| #qunit-testrunner-toolbar { | ||||
| 	padding: 0.5em 0 0.5em 2em; | ||||
| 	color: #5E740B; | ||||
| 	background-color: #eee; | ||||
| 	overflow: hidden; | ||||
| } | ||||
| 
 | ||||
| #qunit-userAgent { | ||||
| 	padding: 0.5em 0 0.5em 2.5em; | ||||
| 	background-color: #2b81af; | ||||
| 	color: #fff; | ||||
| 	text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px; | ||||
| } | ||||
| 
 | ||||
| #qunit-modulefilter-container { | ||||
| 	float: right; | ||||
| } | ||||
| 
 | ||||
| /** Tests: Pass/Fail */ | ||||
| 
 | ||||
| #qunit-tests { | ||||
| 	list-style-position: inside; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests li { | ||||
| 	padding: 0.4em 0.5em 0.4em 2.5em; | ||||
| 	border-bottom: 1px solid #fff; | ||||
| 	list-style-position: inside; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests.hidepass li.pass, #qunit-tests.hidepass li.running  { | ||||
| 	display: none; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests li strong { | ||||
| 	cursor: pointer; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests li a { | ||||
| 	padding: 0.5em; | ||||
| 	color: #c2ccd1; | ||||
| 	text-decoration: none; | ||||
| } | ||||
| #qunit-tests li a:hover, | ||||
| #qunit-tests li a:focus { | ||||
| 	color: #000; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests li .runtime { | ||||
| 	float: right; | ||||
| 	font-size: smaller; | ||||
| } | ||||
| 
 | ||||
| .qunit-assert-list { | ||||
| 	margin-top: 0.5em; | ||||
| 	padding: 0.5em; | ||||
| 
 | ||||
| 	background-color: #fff; | ||||
| 
 | ||||
| 	border-radius: 5px; | ||||
| 	-moz-border-radius: 5px; | ||||
| 	-webkit-border-radius: 5px; | ||||
| } | ||||
| 
 | ||||
| .qunit-collapsed { | ||||
| 	display: none; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests table { | ||||
| 	border-collapse: collapse; | ||||
| 	margin-top: .2em; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests th { | ||||
| 	text-align: right; | ||||
| 	vertical-align: top; | ||||
| 	padding: 0 .5em 0 0; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests td { | ||||
| 	vertical-align: top; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests pre { | ||||
| 	margin: 0; | ||||
| 	white-space: pre-wrap; | ||||
| 	word-wrap: break-word; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests del { | ||||
| 	background-color: #e0f2be; | ||||
| 	color: #374e0c; | ||||
| 	text-decoration: none; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests ins { | ||||
| 	background-color: #ffcaca; | ||||
| 	color: #500; | ||||
| 	text-decoration: none; | ||||
| } | ||||
| 
 | ||||
| /*** Test Counts */ | ||||
| 
 | ||||
| #qunit-tests b.counts                       { color: black; } | ||||
| #qunit-tests b.passed                       { color: #5E740B; } | ||||
| #qunit-tests b.failed                       { color: #710909; } | ||||
| 
 | ||||
| #qunit-tests li li { | ||||
| 	padding: 5px; | ||||
| 	background-color: #fff; | ||||
| 	border-bottom: none; | ||||
| 	list-style-position: inside; | ||||
| } | ||||
| 
 | ||||
| /*** Passing Styles */ | ||||
| 
 | ||||
| #qunit-tests li li.pass { | ||||
| 	color: #3c510c; | ||||
| 	background-color: #fff; | ||||
| 	border-left: 10px solid #C6E746; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests .pass                          { color: #528CE0; background-color: #D2E0E6; } | ||||
| #qunit-tests .pass .test-name               { color: #366097; } | ||||
| 
 | ||||
| #qunit-tests .pass .test-actual, | ||||
| #qunit-tests .pass .test-expected           { color: #999999; } | ||||
| 
 | ||||
| #qunit-banner.qunit-pass                    { background-color: #C6E746; } | ||||
| 
 | ||||
| /*** Failing Styles */ | ||||
| 
 | ||||
| #qunit-tests li li.fail { | ||||
| 	color: #710909; | ||||
| 	background-color: #fff; | ||||
| 	border-left: 10px solid #EE5757; | ||||
| 	white-space: pre; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests > li:last-child { | ||||
| 	border-radius: 0 0 5px 5px; | ||||
| 	-moz-border-radius: 0 0 5px 5px; | ||||
| 	-webkit-border-bottom-right-radius: 5px; | ||||
| 	-webkit-border-bottom-left-radius: 5px; | ||||
| } | ||||
| 
 | ||||
| #qunit-tests .fail                          { color: #000000; background-color: #EE5757; } | ||||
| #qunit-tests .fail .test-name, | ||||
| #qunit-tests .fail .module-name             { color: #000000; } | ||||
| 
 | ||||
| #qunit-tests .fail .test-actual             { color: #EE5757; } | ||||
| #qunit-tests .fail .test-expected           { color: green;   } | ||||
| 
 | ||||
| #qunit-banner.qunit-fail                    { background-color: #EE5757; } | ||||
| 
 | ||||
| 
 | ||||
| /** Result */ | ||||
| 
 | ||||
| #qunit-testresult { | ||||
| 	padding: 0.5em 0.5em 0.5em 2.5em; | ||||
| 
 | ||||
| 	color: #2b81af; | ||||
| 	background-color: #D2E0E6; | ||||
| 
 | ||||
| 	border-bottom: 1px solid white; | ||||
| } | ||||
| #qunit-testresult .module-name { | ||||
| 	font-weight: bold; | ||||
| } | ||||
| 
 | ||||
| /** Fixture */ | ||||
| 
 | ||||
| #qunit-fixture { | ||||
| 	position: absolute; | ||||
| 	top: -10000px; | ||||
| 	left: -10000px; | ||||
| 	width: 1000px; | ||||
| 	height: 1000px; | ||||
| } | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -0,0 +1,62 @@ | |||
| <!doctype html> | ||||
| <html lang="en"> | ||||
| 
 | ||||
| 	<head> | ||||
| 		<meta charset="utf-8"> | ||||
| 
 | ||||
| 		<title>reveal.js - Tests</title> | ||||
| 
 | ||||
| 		<link rel="stylesheet" href="../css/reveal.min.css"> | ||||
| 		<link rel="stylesheet" href="qunit-1.12.0.css"> | ||||
| 	</head> | ||||
| 
 | ||||
| 	<body> | ||||
| 
 | ||||
| 		<div id="qunit"></div> | ||||
|   		<div id="qunit-fixture"></div> | ||||
| 
 | ||||
| 		<div class="reveal" style="display: none;"> | ||||
| 
 | ||||
| 			<div class="slides"> | ||||
| 
 | ||||
| 				<section> | ||||
| 					<h1>1</h1> | ||||
| 				</section> | ||||
| 
 | ||||
| 				<section> | ||||
| 					<section> | ||||
| 						<h1>2.1</h1> | ||||
| 					</section> | ||||
| 					<section> | ||||
| 						<h1>2.2</h1> | ||||
| 					</section> | ||||
| 					<section> | ||||
| 						<h1>2.3</h1> | ||||
| 					</section> | ||||
| 				</section> | ||||
| 
 | ||||
| 				<section> | ||||
| 					<h1>4</h1> | ||||
| 					<ul> | ||||
| 						<li class="fragment">4.1</li> | ||||
| 						<li class="fragment">4.2</li> | ||||
| 						<li class="fragment">4.3</li> | ||||
| 					</ul> | ||||
| 				</section> | ||||
| 
 | ||||
| 				<section> | ||||
| 					<h1>4</h1> | ||||
| 				</section> | ||||
| 
 | ||||
| 			</div> | ||||
| 
 | ||||
| 		</div> | ||||
| 
 | ||||
| 		<script src="../lib/js/head.min.js"></script> | ||||
| 		<script src="../js/reveal.min.js"></script> | ||||
| 		<script src="qunit-1.12.0.js"></script> | ||||
| 
 | ||||
| 		<script src="test.js"></script> | ||||
| 
 | ||||
| 	</body> | ||||
| </html> | ||||
|  | @ -0,0 +1,103 @@ | |||
| 
 | ||||
| 
 | ||||
| Reveal.addEventListener( 'ready', function() { | ||||
| 
 | ||||
| 	QUnit.module( 'API' ); | ||||
| 
 | ||||
| 	test( 'Reveal.isReady', function() { | ||||
| 		ok( Reveal.isReady() === true, 'returns true' ); | ||||
| 	}); | ||||
| 
 | ||||
| 	test( 'Reveal.isOverview', function() { | ||||
| 		ok( Reveal.isOverview() === false, 'returns false' ); | ||||
| 
 | ||||
| 		Reveal.toggleOverview(); | ||||
| 		ok( Reveal.isOverview() === true, 'returns true after toggling on' ); | ||||
| 
 | ||||
| 		Reveal.toggleOverview(); | ||||
| 		ok( Reveal.isOverview() === false, 'returns false after toggling off' ); | ||||
| 	}); | ||||
| 
 | ||||
| 	test( 'Reveal.isPaused', function() { | ||||
| 		ok( Reveal.isPaused() === false, 'returns false' ); | ||||
| 
 | ||||
| 		Reveal.togglePause(); | ||||
| 		ok( Reveal.isPaused() === true, 'returns true after pausing' ); | ||||
| 
 | ||||
| 		Reveal.togglePause(); | ||||
| 		ok( Reveal.isPaused() === false, 'returns false after resuming' ); | ||||
| 	}); | ||||
| 
 | ||||
| 	test( 'Reveal.isFirstSlide', function() { | ||||
| 		Reveal.slide( 0 ); | ||||
| 		ok( Reveal.isFirstSlide() === true, 'returns true' ); | ||||
| 
 | ||||
| 		Reveal.slide( 1 ); | ||||
| 		ok( Reveal.isFirstSlide() === false, 'returns false after navigation' ); | ||||
| 
 | ||||
| 		Reveal.slide( 0 ); | ||||
| 		ok( Reveal.isFirstSlide() === true, 'returns true after navigation' ); | ||||
| 	}); | ||||
| 
 | ||||
| 	test( 'Reveal.isLastSlide', function() { | ||||
| 		Reveal.slide( 0 ); | ||||
| 		ok( Reveal.isLastSlide() === false, 'returns false' ); | ||||
| 
 | ||||
| 		Reveal.slide( document.querySelectorAll( '.reveal .slides>section' ).length - 1 ); | ||||
| 		ok( Reveal.isLastSlide() === true, 'returns true after navigation' ); | ||||
| 
 | ||||
| 		Reveal.slide( 0 ); | ||||
| 		ok( Reveal.isLastSlide() === false, 'returns false after navigation' ); | ||||
| 	}); | ||||
| 
 | ||||
| 	test( 'Reveal.getIndices', function() { | ||||
| 		var indices = Reveal.getIndices(); | ||||
| 
 | ||||
| 		ok( typeof indices.hasOwnProperty( 'h' ), 'h exists' ); | ||||
| 		ok( typeof indices.hasOwnProperty( 'v' ), 'v exists' ); | ||||
| 		ok( typeof indices.hasOwnProperty( 'f' ), 'f exists' ); | ||||
| 
 | ||||
| 		Reveal.slide( 1 ); | ||||
| 		ok( Reveal.getIndices().h === 1 && Reveal.getIndices().v === 0, 'h 1, v 0' ); | ||||
| 
 | ||||
| 		Reveal.slide( 1, 2 ); | ||||
| 		ok( Reveal.getIndices().h === 1 && Reveal.getIndices().v === 2, 'h 1, v 2' ); | ||||
| 
 | ||||
| 		Reveal.slide( 0 ); | ||||
| 	}); | ||||
| 
 | ||||
| 	test( 'Reveal.getScale', function() { | ||||
| 		ok( typeof Reveal.getScale() === 'number', 'has scale' ); | ||||
| 	}); | ||||
| 
 | ||||
| 	test( 'Reveal.getConfig', function() { | ||||
| 		ok( typeof Reveal.getConfig() === 'object', 'has config' ); | ||||
| 	}); | ||||
| 
 | ||||
| 
 | ||||
| 	QUnit.module( 'Events' ); | ||||
| 
 | ||||
| 	asyncTest( 'slidechanged', function() { | ||||
| 		expect( 1 ); | ||||
| 
 | ||||
| 		var _onSlideChanged = function( event ) { | ||||
| 			ok( true, 'event fired' ); | ||||
| 			start(); | ||||
| 		} | ||||
| 
 | ||||
| 		Reveal.addEventListener( 'slidechanged', _onSlideChanged ); | ||||
| 
 | ||||
| 		// Should trigger the event
 | ||||
| 		Reveal.slide( 1 ); | ||||
| 
 | ||||
| 		// Should not trigger an event since it's the same #
 | ||||
| 		Reveal.slide( 1 ); | ||||
| 
 | ||||
| 		Reveal.removeEventListener( 'slidechanged', _onSlideChanged ); | ||||
| 
 | ||||
| 	}); | ||||
| 
 | ||||
| } ); | ||||
| 
 | ||||
| Reveal.initialize(); | ||||
| 
 | ||||
		Loading…
	
		Reference in New Issue
	
	 Hakim El Hattab
						Hakim El Hattab