]> source.dussan.org Git - jquery.git/commitdiff
Fix #13655. Add test for jQuery.ready.promise fallback load. Close gh-1209.
authorMichał Gołębiowski <m.goleb@gmail.com>
Sun, 24 Mar 2013 03:01:50 +0000 (04:01 +0100)
committerDave Methvin <dave.methvin@gmail.com>
Thu, 4 Apr 2013 17:32:25 +0000 (13:32 -0400)
test/data/core/dont_return.php [new file with mode: 0644]
test/data/core/dynamic_ready.html [new file with mode: 0644]
test/unit/core.js

diff --git a/test/data/core/dont_return.php b/test/data/core/dont_return.php
new file mode 100644 (file)
index 0000000..3ac56e1
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+sleep(10000);
+?>
diff --git a/test/data/core/dynamic_ready.html b/test/data/core/dynamic_ready.html
new file mode 100644 (file)
index 0000000..799145b
--- /dev/null
@@ -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>
index 6cdd3b93dccb2a88c63d93a4221b62feeb917316..b544387536bccde3f284e7427926d0d5574854cd 100644 (file)
@@ -24,6 +24,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" );
+});
+
 test("jQuery()", function() {
 
        var elem, i,