Commits

Richard Gibson  committed 363299a

Ref #13316: Sync all documents on full vs. minified source. Close gh-1147.

  • Participants
  • Parent commits f3db084

Comments (0)

Files changed (36)

File src/support.js

 	support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;
 
 	// Support: Firefox 17+
-	// Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP), test/csp.php
+	// Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP)
 	div.setAttribute( "onfocusin", "t" );
 	support.focusinBubbles = "onfocusin" in window || div.attributes.onfocusin.expando === false;
 

File test/csp.php

-<?php
-	header("X-Content-Security-Policy: default-src localhost 'self';");
-	header("X-WebKit-CSP: script-src 'self'; style-src 'self' 'unsafe-inline'");
-?>
-<!DOCTYPE html>
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-	<title>CSP Test Page</title>
-
-	<script src="../dist/jquery.js"></script>
-</head>
-<body>
-	<p>CSP Test Page</p>
-</body>
-</html>

File test/data/ajax/unreleasedXHR.html

 <head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8">
 <title>Attempt to block tests because of dangling XHR requests (IE)</title>
-<script type="text/javascript" src="../../../dist/jquery.min.js"></script>
+<script src="../../jquery.js"></script>
 <script type="text/javascript">
 window.onunload = function() {};
 jQuery(function() {

File test/data/core/cc_on.html

 			errors.push( errorMessage );
 		};
 	</script>
-	<script src="../../../dist/jquery.min.js"></script>
+	<script src="../../jquery.js"></script>
 </head>
 <body>
 	<script>

File test/data/dimensions/documentLarge.html

 </head>
 <body>
 	<div>
-		<script src="../../../dist/jquery.min.js"></script>
+		<script src="../../jquery.js"></script>
 	</div>
 </body>
 </html>

File test/data/dimensions/documentSmall.html

 </head>
 <body>
 	<div>
-		<script src="../../../dist/jquery.min.js"></script>
+		<script src="../../jquery.js"></script>
 	</div>
 </body>
 </html>

File test/data/event/onbeforeunload.html

+<!doctype html>
+<html>
+	<script src="../../jquery.js"></script>
+	<script>
+		function report( event ) {
+			var payload = {
+				event: event.type
+			};
+			return parent.postMessage( JSON.stringify(payload), "*" );
+		}
+
+		jQuery( window ).on( "beforeunload", function( event ) {
+			report( event );
+		}).on( "load", function( event ) {
+			setTimeout(function() {
+				window.location.reload();
+			}, 50);
+		});
+	</script>
+</html>

File test/data/event/promiseReady.html

 <head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8">
 <title>Test case for jQuery ticket #11470</title>
-<script type="text/javascript" src="../../../dist/jquery.min.js"></script>
+<script src="../../jquery.js"></script>
 <script type="text/javascript">
 jQuery.when( jQuery.ready ).done(function() {
 	jQuery("body").append("<div>modifying DOM</div>");

File test/data/event/syncReady.html

 <head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8">
 <title>Test case for jQuery ticket #10067</title>
-<script type="text/javascript" src="../../../dist/jquery.min.js"></script>
+<script src="../../jquery.js"></script>
 </head>
 <body>
 

File test/data/manipulation/iframe-denied.html

 	</head>
 	<body>
 		<div id="qunit-fixture"></div>
-		<script src="../../../dist/jquery.min.js"></script>
+		<script src="../../jquery.js"></script>
 		<script>
 			var script = document.getElementsByTagName( "script" )[ 0 ],
 				div = document.createElement( "div" ),

File test/data/offset/absolute.html

 			p.instructions { position: absolute; bottom: 0; }
 			#positionTest { position: absolute; }
 		</style>
-		<script src="../../../dist/jquery.min.js"></script>
+		<script src="../../jquery.js"></script>
 		<script type="text/javascript" charset="utf-8">
 			jQuery(function($) {
 				$('.absolute').click(function() {

File test/data/offset/body.html

 			#marker { position: absolute; border: 2px solid #000; width: 50px; height: 50px; background: #ccc; }
 			#firstElement { width: 50px; height: 50px; background: green; }
 		</style>
-		<script src="../../../dist/jquery.min.js"></script>
+		<script src="../../jquery.js"></script>
 		<script type="text/javascript" charset="utf-8">
 			jQuery(function($) {
 				$('body').click(function() {

File test/data/offset/fixed.html

 			#forceScroll { width: 5000px; height: 5000px; }
 			#marker { position: absolute; border: 2px solid #000; width: 50px; height: 50px; background: #ccc; }
 		</style>
-		<script src="../../../dist/jquery.min.js"></script>
+		<script src="../../jquery.js"></script>
 		<script type="text/javascript" charset="utf-8">
 			jQuery(function($) {
 				window.scrollTo(1000,1000);

File test/data/offset/relative.html

 			#relative-2 { top: 20px; left: 20px; }
 			#marker { position: absolute; border: 2px solid #000; width: 50px; height: 50px; background: #ccc; }
 		</style>
-		<script src="../../../dist/jquery.min.js"></script>
+		<script src="../../jquery.js"></script>
 		<script type="text/javascript" charset="utf-8">
 			jQuery(function($) {
 				$('.relative').click(function() {

File test/data/offset/scroll.html

 			#forceScroll { width: 5000px; height: 5000px; }
 			#marker { position: absolute; border: 2px solid #000; width: 50px; height: 50px; background: #ccc; }
 		</style>
-		<script src="../../../dist/jquery.min.js"></script>
+		<script src="../../jquery.js"></script>
 		<script type="text/javascript" charset="utf-8">
 			jQuery(function($) {
 				window.scrollTo(1000,1000);

File test/data/offset/static.html

 			#static-2 { top: 20px; left: 20px; }
 			#marker { position: absolute; border: 2px solid #000; width: 50px; height: 50px; background: #ccc; }
 		</style>
-		<script src="../../../dist/jquery.min.js"></script>
+		<script src="../../jquery.js"></script>
 		<script type="text/javascript" charset="utf-8">
 			jQuery(function($) {
 				$('.static').click(function() {

File test/data/offset/table.html

 			th, td { border: 1px solid #000; width: 100px; height: 100px; }
 			#marker { position: absolute; border: 2px solid #000; width: 50px; height: 50px; background: #ccc; }
 		</style>
-		<script src="../../../dist/jquery.min.js"></script>
+		<script src="../../jquery.js"></script>
 		<script type="text/javascript" charset="utf-8">
 			jQuery(function($) {
 				$('table, th, td').click(function() {

File test/data/onbeforeunload.html

-<!doctype html>
-<html>
-	<script src="/dist/jquery.js"></script>
-	<script>
-		function report( event ) {
-			var payload = {
-				event: event.type
-			};
-			return parent.postMessage( JSON.stringify(payload), "*" );
-		}
-
-		jQuery( window ).on( "beforeunload", function( event ) {
-			report( event );
-		}).on( "load", function( event ) {
-			setTimeout(function() {
-				window.location.reload();
-			}, 50);
-		});
-	</script>
-</html>

File test/data/selector/html5_selector.html

 	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
 	<title>jQuery selector - attributes</title>
 
-	<script src="../../../dist/jquery.min.js"></script>
+	<script src="../../jquery.js"></script>
 
 	<script id="script1"
 			defer

File test/data/selector/sizzle_cache.html

 	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
 	<title>jQuery selector - sizzle cache</title>
 
-	<script src="../../../dist/jquery.js"></script>
+	<script src="../../jquery.js"></script>
 	<script>
-		var $cached = jQuery.noConflict(true);
+		document.write(
+			"<script>var $cached = jQuery.noConflict(true);<\x2Fscript>" +
+			"<script src='" + document.getElementById("jquery-js").src + "?overwrite'><\x2Fscript>"
+		);
 	</script>
-	<script src="../../../dist/jquery.min.js"></script>
 
 </head>
 <body>
-
 	<div class="test">
 		<a href="#" id="collision">Worlds collide</a>
 	</div>
-
+	<script>
+		window.parent.iframeCallback( $cached, jQuery, document );
+	</script>
 </body>
 </html>

File test/data/support/bodyBackground.html

 </head>
 <body>
 	<div>
-		<script src="../../../dist/jquery.min.js"></script>
+		<script src="../../jquery.js"></script>
 	</div>
 	<script>
 		jQuery(function() {

File test/data/support/csp.js

+jQuery(function() {
+	parent.iframeCallback( jQuery.support );
+});

File test/data/support/csp.php

+<?php
+	header("X-Content-Security-Policy: default-src 'self';");
+	header("X-WebKit-CSP: script-src 'self'");
+?>
+<!DOCTYPE html>
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<title>CSP Test Page</title>
+	<script src="../../jquery.js"></script>
+	<script src="csp.js"></script>
+</head>
+<body>
+	<p>CSP Test Page</p>
+</body>
+</html>

File test/data/support/shrinkWrapBlocks.html

 </head>
 <body>
 	<div>
-		<script src="../../../dist/jquery.min.js"></script>
+		<script src="../../jquery.js"></script>
 	</div>
 	<script>
 		jQuery(function() {

File test/data/support/testElementCrash.html

 			background: url('../1x1.jpg');
 		}
 	</style>
-	<script src="../../../dist/jquery.min.js"></script>
+	<script src="../../jquery.js"></script>
 </head>
 <body>
 	<script>

File test/delegatetest.html

 <html>
 <head>
 <title>Event Delegation Tests</title>
-<script src="../dist/jquery.min.js"></script>
+<script src="jquery.js"></script>
 <style>
 table {
 	border-collapse: collapse;

File test/hovertest.html

 <html>
 <head>
 <title>Hover tests</title>
-<script src="../dist/jquery.min.js"></script>
+<script src="jquery.js"></script>
 <style>
 /* Remove body dimensions so we can test enter/leave to surrounding browser chrome */
 body, html {

File test/index.html

 			}
 
 			// Load jQuery
-			document.write( "<script src='" + src + "'><\/script>" );
+			document.write( "<script id='jquery-js' src='" + src + "'><\x2Fscript>" );
 		})();
 	</script>
 	<script src="data/testrunner.js"></script>

File test/jquery.js

+// Use the right jQuery source in iframe tests
+document.write( "<script id='jquery-js' src='" +
+	parent.document.getElementById("jquery-js").src.replace( /^(?![^\/?#]+:)/,
+		parent.location.pathname.replace( /[^\/]$/, "$0/" ) ) +
+"'><\x2Fscript>" );

File test/localfile.html

 	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 	<title>jQuery Local File Test</title>
 	<!-- Includes -->
-	<script src="../dist/jquery.min.js"></script>
+	<script src="jquery.js"></script>
 	<style>
 		.error { color: red; }
 		.success { color: green; }

File test/networkerror.html

 	<style>
 		div { margin-top: 10px; }
 	</style>
-	<script src="../dist/jquery.min.js"></script>
+	<script src="jquery.js"></script>
 	<script type="text/javascript">
 	$('button').live('click', function () {
 		$.ajax({

File test/polluted.php

-<?php
-	$baseURL = "http://ajax.googleapis.com/ajax/libs/";
-	$libraries = array(
-		"Dojo" => array(
-			"versions" => array( "1.1.1", "1.2.0", "1.2.3", "1.3.0", "1.3.1", "1.3.2", "1.4.0", "1.4.1", "1.4.3", "1.5.0" ),
-			"url" => "dojo/XYZ/dojo/dojo.xd.js"
-		),
-		"ExtCore" => array(
-			"versions" => array( "3.0.0", "3.1.0" ),
-			"url" => "ext-core/XYZ/ext-core.js"
-		),
-		"jQuery" => array(
-			"versions" => array( "1.2.3", "1.2.6", "1.3.0", "1.3.1", "1.3.2", "1.4.0", "1.4.1", "1.4.2", "1.4.3", "1.4.4", "1.5.0" ),
-			"url" => "jquery/XYZ/jquery.min.js"
-		),
-		"jQueryUI" => array(
-			"versions" => array( "1.5.2", "1.5.3", "1.6.0", "1.7.0", "1.7.1", "1.7.2", "1.7.3", "1.8.0", "1.8.1", "1.8.2", "1.8.4", "1.8.5", "1.8.6", "1.8.7", "1.8.8", "1.8.9" ),
-			"url" => "jqueryui/XYZ/jquery-ui.min.js"
-		),
-		"MooTools" => array(
-			"versions" => array( "1.1.1", "1.1.2", "1.2.1", "1.2.2", "1.2.3", "1.2.4", "1.2.5", "1.3.0" ),
-			"url" => "mootools/XYZ/mootools-yui-compressed.js"
-		),
-		"Prototype" => array(
-			"versions" => array( "1.6.0.2", "1.6.0.3", "1.6.1.0", "1.7.0.0" ),
-			"url" => "prototype/XYZ/prototype.js"
-		),
-		"scriptaculous" => array(
-			"versions" => array( "1.8.1", "1.8.2", "1.8.3" ),
-			"url" => "scriptaculous/XYZ/scriptaculous.js"
-		),
-		"SWFObject" => array(
-			"versions" => array( "2.1", "2.2" ),
-			"url" => "swfobject/XYZ/swfobject.js"
-		),
-		"YUI" => array(
-			"versions" => array( "2.6.0", "2.7.0", "2.8.0r4", "2.8.1", "2.8.2", "3.3.0" ),
-			"url" =>    "yui/XYZ/build/yui/yui-min.js"
-		)
-	);
-
-	if( count($_POST) ) {
-		$includes = array();
-		foreach( $_POST as $name => $ver ){
-			if ( empty( $libraries[ $name ] )) {
-				echo "unsupported library ". $name;
-				exit;
-			}
-		
-			$url = $libraries[ $name ][ "url" ];
-			if( $name == "YUI" && $ver[0] == "2" ) {
-				$url = str_replace( "/yui", "/yuiloader", $url);
-			}
-			
-			if ( empty( $libraries[ $name ][ "versions" ][ $ver ] )) {
-				echo "library ". $name ." not supported in version ". $ver;
-				exit;
-			}
-			
-			$include = "<script src='$baseURL".str_replace("XYZ", $ver, $url)."'></script>\n";
-			if( $lib == "prototype" ) { // prototype must be included first
-				array_unshift( $includes, $include );
-			} else {
-				array_push( $includes, $include );
-			}
-		}
-
-		$includes = implode( "\n", $includes );
-		$suite = file_get_contents( "index.html" );
-		echo str_replace( "<!-- Includes -->", $includes, $suite );
-		exit;
-	}
-?>
-<!DOCTYPE html>
-<html>
-<head>
-	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
-	<title>Run jQuery Test Suite Polluted</title>
-	<style type="text/css">
-		.otherlibs fieldset {
-			width: 400px
-		}
-		.otherlibs label{
-			margin: 5px 0px 5px 20px;
-		}
-	</style>
-</head>
-
-<body id="body">
-	<h1 id="header">jQuery Test Suite</h1>
-	<h2 id="banner" class="fail"></h2>
-	<h2 id="userAgent">Choose other libraries to include</h2>
-
-	<form class="otherlibs" action="./polluted.php" method="POST">
-		<?php
-			foreach( $libraries as $name => $data ) {
-				echo "<fieldset><legend>$name</legend>";
-				$i = 0;
-				foreach( $data[ "versions" ] as $ver ) {
-					$i++;
-					echo "<label><input type='radio' name='$name' value='$ver' />$ver</label>";
-					if( !($i % 4) ) echo "<br />";
-				}
-				echo "</fieldset>";
-			}
-		?>
-		<input type="submit" value=" Run " class="submit" />
-	</form>
-</body>
-</html>

File test/readywait.html

 		#output { background-color: green }
 		#expectedOutput { background-color: green }
 	</style>
-	<script src="../dist/jquery.min.js"></script>
+	<script src="jquery.js"></script>
 
 	<!-- Load the script loader that uses
 		jQuery.readyWait -->

File test/unit/event.js

 // Test beforeunload event only if it supported (i.e. not Opera)
 if ( window.onbeforeunload === null ) {
 	asyncTest("on(beforeunload)", 1, function() {
-		var iframe = jQuery(jQuery.parseHTML("<iframe src='data/onbeforeunload.html'><iframe>"));
+		var iframe = jQuery(jQuery.parseHTML("<iframe src='data/event/onbeforeunload.html'><iframe>"));
 
 		window.onmessage = function( event ) {
 			var payload = JSON.parse( event.data );

File test/unit/selector.js

 	t( "Improperly named form elements do not interfere with form selections (#9570)", "form[name='formName']", ["form1"] );
 });
 
-testIframe("selector/sizzle_cache", "Sizzle cache collides with multiple Sizzles on a page", function( jQuery, window, document ) {
-	var $cached = window["$cached"];
-
-	expect(3);
+testIframeWithCallback("Sizzle cache collides with multiple Sizzles on a page", "selector/sizzle_cache.html", function( $cached, jQuery, document ) {
+	expect(4);
+	notStrictEqual( jQuery, $cached, "Loaded two engines" );
 	deepEqual( $cached(".test a").get(), [ document.getElementById("collision") ], "Select collision anchor with first sizzle" );
 	equal( jQuery(".evil a").length, 0, "Select nothing with second sizzle" );
 	equal( jQuery(".evil a").length, 0, "Select nothing again with second sizzle" );

File test/unit/support.js

 if ( jQuery.css ) {
 	testIframeWithCallback( "body background is not lost if set prior to loading jQuery (#9239)", "support/bodyBackground.html", function( color, support ) {
 		expect( 2 );
-		var i,
-			passed = true,
-			okValue = {
+			var okValue = {
 				"#000000": true,
 				"rgb(0, 0, 0)": true
 			};
 		ok( okValue[ color ], "color was not reset (" + color + ")" );
 
-		for ( i in jQuery.support ) {
-			if ( jQuery.support[ i ] !== support[ i ] ) {
-				passed = false;
-				strictEqual( jQuery.support[ i ], support[ i ], "Support property " + i + " is different" );
-			}
-		}
-		for ( i in support ) {
-			if ( !( i in jQuery.support ) ) {
-				passed = false;
-				strictEqual( jQuery.support[ i ], support[ i ], "Unexpected property: " + i );
-			}
-		}
-
-		ok( passed, "Same support properties" );
+		deepEqual( jQuery.extend( {}, support ), jQuery.support, "Same support properties" );
 	});
 }
 
 testIframeWithCallback( "A background on the testElement does not cause IE8 to crash (#9823)", "support/testElementCrash.html", function() {
-	expect(1);
+	expect( 1 );
 	ok( true, "IE8 does not crash" );
 });
 
 	expect( 1 );
 	strictEqual( shrinkWrapBlocks, jQuery.support.shrinkWrapBlocks, "jQuery.support.shrinkWrapBlocks properties are the same" );
 });
+
+testIframeWithCallback( "Check CSP (https://developer.mozilla.org/en-US/docs/Security/CSP) restrictions", "support/csp.php", function( support ) {
+	expect( 1 );
+	deepEqual( jQuery.extend( {}, support ), jQuery.support, "No violations of CSP polices" );
+});