mirror of
https://github.com/jquery/jquery.git
synced 2026-01-31 12:37:55 -05:00
Tests: Refactor testIframe() to make it DRYer and more consistent
Ref gh-3040 Closes gh-3049
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
|
||||
<title>onunload ajax requests (#14379)</title>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<form id="navigate" action="../iframe.html"></form>
|
||||
@@ -17,7 +18,7 @@
|
||||
ajaxStatus = status;
|
||||
}
|
||||
});
|
||||
parent.iframeCallback( ajaxStatus );
|
||||
startIframeTest( ajaxStatus );
|
||||
});
|
||||
|
||||
jQuery(function() {
|
||||
|
||||
@@ -4,13 +4,14 @@
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Attempt to block tests because of dangling XHR requests (IE)</title>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.onunload = function() {};
|
||||
jQuery(function() {
|
||||
setTimeout(function() {
|
||||
var parent = window.parent;
|
||||
document.write("");
|
||||
parent.iframeCallback();
|
||||
startIframeTest();
|
||||
}, 200 );
|
||||
var number = 50;
|
||||
while( number-- ) {
|
||||
|
||||
@@ -10,15 +10,16 @@
|
||||
};
|
||||
</script>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<form>
|
||||
<input type="text" id="nodeName"/>
|
||||
</form>
|
||||
<script>
|
||||
jQuery(function() {
|
||||
window.parent.iframeCallback( errors );
|
||||
});
|
||||
jQuery( function() {
|
||||
startIframeTest( errors );
|
||||
} );
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -13,10 +13,11 @@
|
||||
};
|
||||
</script>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
window.parent.iframeCallback( cc_on, errors, jQuery );
|
||||
startIframeTest( cc_on, errors );
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
<meta charset="utf-8">
|
||||
<script src="../../jquery.js"></script>
|
||||
<script>var $j = jQuery.noConflict();</script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<iframe id="dont_return" src="dont_return.php"></iframe>
|
||||
@@ -20,14 +21,14 @@
|
||||
$(function () {
|
||||
clearTimeout( timeoutId );
|
||||
if ( !timeoutFired ) {
|
||||
window.parent.iframeCallback( true );
|
||||
startIframeTest( true );
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
timeoutId = setTimeout(function () {
|
||||
timeoutFired = true;
|
||||
window.parent.iframeCallback( false );
|
||||
startIframeTest( false );
|
||||
}, 10000);
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
window.onready = function() { error = "Called window.onready"; };
|
||||
</script>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<form>
|
||||
@@ -16,7 +17,7 @@
|
||||
<script>
|
||||
jQuery(function() {
|
||||
setTimeout( function() {
|
||||
window.parent.iframeCallback( error );
|
||||
startIframeTest( error );
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -14,8 +14,9 @@
|
||||
<body>
|
||||
<div id="test"></div>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script>
|
||||
window.parent.iframeCallback( jQuery( "#test" ).css( 'width' ) );
|
||||
startIframeTest( jQuery( "#test" ).css( 'width' ) );
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -4,9 +4,10 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>IE11 onpageshow strangeness (#14894)</title>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script>
|
||||
$(function(){
|
||||
window.parent.iframeCallback( $( "body" ).data().result );
|
||||
startIframeTest( $( "body" ).data().result );
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -8,14 +8,13 @@
|
||||
height: 1000px;
|
||||
}
|
||||
</style>
|
||||
<script src="../iframeTest.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script>
|
||||
jQuery( function() {
|
||||
window.parent.iframeCallback( jQuery, window, document );
|
||||
} );
|
||||
jQuery( startIframeTest );
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -5,12 +5,13 @@
|
||||
<title>.focus() (activeElement access #13393)</title>
|
||||
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<a href="#" id="frame-link"></a>
|
||||
<script>
|
||||
jQuery( "#frame-link" ).trigger( "focus" );
|
||||
window.parent.iframeCallback( true );
|
||||
startIframeTest( true );
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -5,13 +5,14 @@
|
||||
<title>focusin event cross-frame (#14180)</title>
|
||||
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<input type="text" id="frame-input" />
|
||||
<script>
|
||||
// Call parent when this frame is fully loaded, it will mess with #frame-input
|
||||
jQuery( window ).one( "load", function() {
|
||||
window.parent.iframeCallback( document );
|
||||
startIframeTest();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
@@ -4,13 +4,14 @@
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Test case for gh-2100</title>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery( document ).ready(function () {
|
||||
window.parent.iframeCallback( jQuery("#container").length === 1 );
|
||||
});
|
||||
jQuery( function () {
|
||||
startIframeTest( jQuery("#container").length === 1 );
|
||||
} );
|
||||
</script>
|
||||
|
||||
<!-- external resources that come before elements trick
|
||||
|
||||
@@ -4,10 +4,11 @@
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Test case for jQuery ticket #11470</title>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery.when( jQuery.ready ).done(function() {
|
||||
jQuery("body").append("<div>modifying DOM</div>");
|
||||
window.parent.iframeCallback( $("div").text() === "modifying DOM" );
|
||||
startIframeTest( $("div").text() === "modifying DOM" );
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -4,12 +4,13 @@
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Test case for jQuery ticket #10067</title>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery( document ).ready(function () {
|
||||
window.parent.iframeCallback( jQuery('#container').length === 1 );
|
||||
startIframeTest( jQuery('#container').length === 1 );
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script>
|
||||
var called = false,
|
||||
error = false;
|
||||
@@ -12,7 +13,7 @@
|
||||
return "maybe";
|
||||
}).on( "load", function( event ) {
|
||||
$( window ).triggerHandler( "beforeunload" );
|
||||
window.parent.iframeCallback( called && !error );
|
||||
startIframeTest( called && !error );
|
||||
});
|
||||
</script>
|
||||
</html>
|
||||
|
||||
8
test/data/iframeTest.js
Normal file
8
test/data/iframeTest.js
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
window.startIframeTest = function() {
|
||||
var args = Array.prototype.slice.call( arguments );
|
||||
|
||||
// Note: jQuery may be undefined if page did not load it
|
||||
args.unshift( window.jQuery, window, document );
|
||||
window.parent.iframeCallback.apply( null, args );
|
||||
};
|
||||
@@ -7,6 +7,7 @@
|
||||
<body>
|
||||
<div id="qunit-fixture"></div>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script>
|
||||
var script = document.getElementsByTagName( "script" )[ 0 ],
|
||||
div = document.createElement( "div" ),
|
||||
@@ -25,7 +26,7 @@
|
||||
error = e;
|
||||
}
|
||||
|
||||
window.parent.iframeCallback({
|
||||
startIframeTest({
|
||||
status: success,
|
||||
description: "buildFragment sets the context without throwing an exception" +
|
||||
( error ? ": " + error : "" )
|
||||
|
||||
@@ -7,12 +7,9 @@
|
||||
<body>
|
||||
<div id="qunit-fixture"></div>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script>
|
||||
window.parent.iframeCallback(
|
||||
window,
|
||||
document.body,
|
||||
"<script>window.scriptTest = true;<\x2fscript>"
|
||||
);
|
||||
startIframeTest();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#positionTest { position: absolute; }
|
||||
</style>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
jQuery(function($) {
|
||||
$(".absolute").click(function() {
|
||||
@@ -24,7 +25,7 @@
|
||||
$(this).css({ top: pos.top, left: pos.left });
|
||||
return false;
|
||||
});
|
||||
window.parent.iframeCallback( jQuery, window, document );
|
||||
startIframeTest();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -10,13 +10,14 @@
|
||||
#firstElement { width: 50px; height: 50px; background: green; }
|
||||
</style>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
jQuery(function($) {
|
||||
$("body").click(function() {
|
||||
$("marker").css( $(this).offset() );
|
||||
return false;
|
||||
});
|
||||
window.parent.iframeCallback( jQuery, window, document );
|
||||
startIframeTest();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#marker { position: absolute; border: 2px solid #000; width: 50px; height: 50px; background: #ccc; }
|
||||
</style>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
jQuery(function($) {
|
||||
window.scrollTo(1000,1000);
|
||||
@@ -20,7 +21,7 @@
|
||||
$("#marker").css( $(this).offset() );
|
||||
return false;
|
||||
});
|
||||
window.parent.iframeCallback( jQuery, window, document );
|
||||
startIframeTest();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#marker { position: absolute; border: 2px solid #000; width: 50px; height: 50px; background: #ccc; }
|
||||
</style>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
jQuery(function($) {
|
||||
$(".relative").click(function() {
|
||||
@@ -20,7 +21,7 @@
|
||||
$(this).css({ position: 'absolute', top: pos.top, left: pos.left });
|
||||
return false;
|
||||
});
|
||||
window.parent.iframeCallback( jQuery, window, document );
|
||||
startIframeTest();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#marker { position: absolute; border: 2px solid #000; width: 50px; height: 50px; background: #ccc; }
|
||||
</style>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
jQuery(function($) {
|
||||
window.scrollTo(1000,1000);
|
||||
@@ -24,7 +25,7 @@
|
||||
$("#marker").css( $(this).offset() );
|
||||
return false;
|
||||
});
|
||||
window.parent.iframeCallback( jQuery, window, document );
|
||||
startIframeTest();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#marker { position: absolute; border: 2px solid #000; width: 50px; height: 50px; background: #ccc; }
|
||||
</style>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
jQuery(function($) {
|
||||
$(".static").click(function() {
|
||||
@@ -19,7 +20,7 @@
|
||||
$(this).css({ position: 'absolute', top: pos.top, left: pos.left });
|
||||
return false;
|
||||
});
|
||||
window.parent.iframeCallback( jQuery, window, document );
|
||||
startIframeTest();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -11,13 +11,14 @@
|
||||
#marker { position: absolute; border: 2px solid #000; width: 50px; height: 50px; background: #ccc; }
|
||||
</style>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
jQuery(function($) {
|
||||
$("table, th, td").click(function() {
|
||||
$("#marker").css( $(this).offset() );
|
||||
return false;
|
||||
});
|
||||
window.parent.iframeCallback( jQuery, window, document );
|
||||
startIframeTest();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<title>jQuery selector - attributes</title>
|
||||
|
||||
<script src="../../jquery.js"></script>
|
||||
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script id="script1"
|
||||
defer
|
||||
async></script>
|
||||
@@ -16,9 +16,7 @@
|
||||
document.createElement('article');
|
||||
document.createElement('details');
|
||||
|
||||
jQuery( function() {
|
||||
window.parent.iframeCallback( jQuery, window, document );
|
||||
} );
|
||||
jQuery( startIframeTest );
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
<title>jQuery selector - sizzle cache</title>
|
||||
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script>
|
||||
document.write(
|
||||
"<script>var $cached = jQuery.noConflict(true);<\x2Fscript>" +
|
||||
@@ -18,9 +19,7 @@
|
||||
<a href="#" id="collision">Worlds collide</a>
|
||||
</div>
|
||||
<script>
|
||||
jQuery( function() {
|
||||
window.parent.iframeCallback( jQuery, window, document );
|
||||
} );
|
||||
jQuery( startIframeTest );
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -18,10 +18,11 @@
|
||||
<body>
|
||||
<div>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script src="getComputedSupport.js"></script>
|
||||
</div>
|
||||
<script>
|
||||
window.parent.iframeCallback( jQuery( "body" ).css( "backgroundColor" ),
|
||||
startIframeTest( jQuery( "body" ).css( "backgroundColor" ),
|
||||
getComputedSupport( jQuery.support ) );
|
||||
</script>
|
||||
</body>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
jQuery( function() {
|
||||
parent.iframeCallback( getComputedSupport( jQuery.support ) );
|
||||
startIframeTest( getComputedSupport( jQuery.support ) );
|
||||
} );
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>CSP Test Page</title>
|
||||
<script src="../../jquery.js"></script>
|
||||
<script src="../iframeTest.js"></script>
|
||||
<script src="csp.js"></script>
|
||||
<script src="getComputedSupport.js"></script>
|
||||
</head>
|
||||
|
||||
@@ -232,15 +232,15 @@ this.ajaxTest = function( title, expect, options ) {
|
||||
} );
|
||||
};
|
||||
|
||||
this.testIframeWithCallback = function( title, fileName, func ) {
|
||||
QUnit.test( title, 1, function( assert ) {
|
||||
this.testIframe = function( title, fileName, func ) {
|
||||
QUnit.test( title, function( assert ) {
|
||||
var iframe;
|
||||
var done = assert.async();
|
||||
|
||||
window.iframeCallback = function() {
|
||||
var args = Array.prototype.slice.call( arguments );
|
||||
|
||||
args.push( assert );
|
||||
args.unshift( assert );
|
||||
|
||||
setTimeout( function() {
|
||||
this.iframeCallback = undefined;
|
||||
@@ -248,7 +248,6 @@ this.testIframeWithCallback = function( title, fileName, func ) {
|
||||
func.apply( this, args );
|
||||
func = function() {};
|
||||
iframe.remove();
|
||||
|
||||
done();
|
||||
} );
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user