Core: Add test for jQuery.ready.promise fallback load

Fix #13655
Close gh-1209
Ref 32b066d380
This commit is contained in:
Michał Gołębiowski 2014-03-13 02:18:29 +01:00
parent 412555a0b0
commit 725cdebd39
3 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,3 @@
<?php
sleep(10000);
?>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="../../jquery.js"></script>
<script>var $j = jQuery.noConflict();</script>
</head>
<body>
<iframe id="dont_return" src="dont_return.php"></iframe>
<script>
var timeoutId, $,
timeoutFired = false;
setTimeout(function () {
// Load another jQuery copy using the first one.
$j.getScript( "../../../dist/jquery.js", function () {
$j( "#dont_return" ).attr( "src", "about:blank" );
// document ready handled by the just-loaded jQuery copy.
$(function () {
clearTimeout( timeoutId );
if ( !timeoutFired ) {
window.parent.iframeCallback( true );
}
});
});
timeoutId = setTimeout(function () {
timeoutFired = true;
window.parent.iframeCallback( false );
}, 3000);
});
</script>
</body>
</html>

View File

@ -1486,6 +1486,11 @@ testIframeWithCallback( "Conditional compilation compatibility (#13274)", "core/
ok( $(), "jQuery executes" );
});
testIframeWithCallback( "document ready when jQuery loaded asynchronously (#13655)", "core/dynamic_ready.html", function( ready ) {
expect( 1 );
equal( true, ready, "document ready correctly fired when jQuery is loaded after DOMContentLoaded" );
});
testIframeWithCallback( "Tolerating alias-masked DOM properties (#14074)", "core/aliased.html",
function( errors ) {
expect( 1 );