aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichał Gołębiowski <m.goleb@gmail.com>2014-03-13 02:18:29 +0100
committerMichał Gołębiowski <m.goleb@gmail.com>2014-03-13 02:18:29 +0100
commit725cdebd3949ca98d4180897df5ddfd8ef58305b (patch)
tree533e92c5481d8e33b65fdd0432ef0c9d9afa70c8
parent412555a0b001d19e2dedf4c3c23a794ad8fa398c (diff)
downloadjquery-725cdebd3949ca98d4180897df5ddfd8ef58305b.tar.gz
jquery-725cdebd3949ca98d4180897df5ddfd8ef58305b.zip
Core: Add test for jQuery.ready.promise fallback load
Fix #13655 Close gh-1209 Ref 32b066d3805a48f8c8312562ed52a1b5910b1d85
-rw-r--r--test/data/core/dont_return.php3
-rw-r--r--test/data/core/dynamic_ready.html35
-rw-r--r--test/unit/core.js5
3 files changed, 43 insertions, 0 deletions
diff --git a/test/data/core/dont_return.php b/test/data/core/dont_return.php
new file mode 100644
index 000000000..3ac56e1ef
--- /dev/null
+++ b/test/data/core/dont_return.php
@@ -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
index 000000000..799145b98
--- /dev/null
+++ b/test/data/core/dynamic_ready.html
@@ -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>
diff --git a/test/unit/core.js b/test/unit/core.js
index c59acb84c..d95767586 100644
--- a/test/unit/core.js
+++ b/test/unit/core.js
@@ -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 );