"use strict";
-// Store the old counts so that we only assert on tests that have actually leaked,
+// Store the old count so that we only assert on tests that have actually leaked,
// instead of asserting every time a test has leaked sometime in the past
-var oldCacheLength = 0,
- oldActive = 0,
+var oldActive = 0,
- expectedDataKeys = {},
splice = [].splice,
ajaxSettings = jQuery.ajaxSettings;
* teardown function on all modules' lifecycle object.
*/
window.moduleTeardown = function( assert ) {
- var i, expectedKeys, actualKeys,
- cacheLength = 0;
-
- // Reset data register
- expectedDataKeys = {};
// Check for (and clean up, if possible) incomplete animations/requests/etc.
if ( jQuery.timers && jQuery.timers.length !== 0 ) {
}
Globals.cleanup();
-
- for ( i in jQuery.cache ) {
- ++cacheLength;
- }
-
- // Because QUnit doesn't have a mechanism for retrieving
- // the number of expected assertions for a test,
- // if we unconditionally assert any of these,
- // the test will fail with too many assertions :|
- if ( cacheLength !== oldCacheLength ) {
- assert.equal( cacheLength, oldCacheLength, "No unit tests leak memory in jQuery.cache" );
- oldCacheLength = cacheLength;
- }
};
QUnit.done( function() {
function testWrap( val, assert ) {
- assert.expect( 19 );
+ assert.expect( 18 );
var defaultText, result, j, i, cacheLength;
"Check node,textnode,comment wraps doesn't hurt text"
);
- // Try wrapping a disconnected node
- cacheLength = 0;
- for ( i in jQuery.cache ) {
- cacheLength++;
- }
-
j = jQuery( "<label></label>" ).wrap( val( "<li></li>" ) );
assert.equal(
j[ 0 ] .nodeName.toUpperCase(), "LABEL", "Element is a label"
j[ 0 ].parentNode.nodeName.toUpperCase(), "LI", "Element has been wrapped"
);
- for ( i in jQuery.cache ) {
- cacheLength--;
- }
- assert.equal(
- cacheLength, 0, "No memory leak in jQuery.cache (bug #7165)"
- );
-
// Wrap an element containing a text node
j = jQuery( "<span></span>" ).wrap( "<div>test</div>" );
assert.equal(