add unit tests #123
This commit is contained in:
		
							
								
								
									
										244
									
								
								test/qunit-1.12.0.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										244
									
								
								test/qunit-1.12.0.css
									
									
									
									
									
										Normal file
									
								
							| @@ -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; | ||||||
|  | } | ||||||
							
								
								
									
										2212
									
								
								test/qunit-1.12.0.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2212
									
								
								test/qunit-1.12.0.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										62
									
								
								test/test.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								test/test.html
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||||
							
								
								
									
										103
									
								
								test/test.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								test/test.js
									
									
									
									
									
										Normal file
									
								
							| @@ -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(); | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user