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;
+++ /dev/null
-<?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>
<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() {
errors.push( errorMessage );
};
</script>
- <script src="../../../dist/jquery.min.js"></script>
+ <script src="../../jquery.js"></script>
</head>
<body>
<script>
</head>
<body>
<div>
- <script src="../../../dist/jquery.min.js"></script>
+ <script src="../../jquery.js"></script>
</div>
</body>
</html>
</head>
<body>
<div>
- <script src="../../../dist/jquery.min.js"></script>
+ <script src="../../jquery.js"></script>
</div>
</body>
</html>
--- /dev/null
+<!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>
<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>");
<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>
</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" ),
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() {
#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() {
#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);
#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() {
#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);
#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() {
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() {
+++ /dev/null
-<!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>
<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
<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>
</head>
<body>
<div>
- <script src="../../../dist/jquery.min.js"></script>
+ <script src="../../jquery.js"></script>
</div>
<script>
jQuery(function() {
--- /dev/null
+jQuery(function() {
+ parent.iframeCallback( jQuery.support );
+});
--- /dev/null
+<?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>
</head>
<body>
<div>
- <script src="../../../dist/jquery.min.js"></script>
+ <script src="../../jquery.js"></script>
</div>
<script>
jQuery(function() {
background: url('../1x1.jpg');
}
</style>
- <script src="../../../dist/jquery.min.js"></script>
+ <script src="../../jquery.js"></script>
</head>
<body>
<script>
<html>
<head>
<title>Event Delegation Tests</title>
-<script src="../dist/jquery.min.js"></script>
+<script src="jquery.js"></script>
<style>
table {
border-collapse: collapse;
<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 {
}
// Load jQuery
- document.write( "<script src='" + src + "'><\/script>" );
+ document.write( "<script id='jquery-js' src='" + src + "'><\x2Fscript>" );
})();
</script>
<script src="data/testrunner.js"></script>
--- /dev/null
+// 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>" );
<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; }
<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({
+++ /dev/null
-<?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>
#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 -->
// 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 );
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" );
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" );
+});