aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>2020-01-13 19:23:01 +0100
committerMichał Gołębiowski-Owczarek <m.goleb@gmail.com>2020-05-18 18:51:34 +0200
commit8ad78cdbc40efd8db01b0a2e6f7e58b8aaf0c977 (patch)
treec0ffc48f1aa6e5dadc76e09bf391df99308d250f
parentdb43ef0bff853bce76f44617aa7219a364d9b176 (diff)
downloadjquery-8ad78cdbc40efd8db01b0a2e6f7e58b8aaf0c977.tar.gz
jquery-8ad78cdbc40efd8db01b0a2e6f7e58b8aaf0c977.zip
Tests: Remove obsolete jQuery data tests
The tests relied on `jQuery.cache` so they only ever worked in jQuery 1.x. Closes gh-4586 (cherry picked from commit eb35be528fdea40faab4d89ac859d38dfd024271)
-rw-r--r--test/data/testrunner.js92
-rw-r--r--test/unit/attributes.js4
-rw-r--r--test/unit/data.js7
-rw-r--r--test/unit/effects.js12
4 files changed, 0 insertions, 115 deletions
diff --git a/test/data/testrunner.js b/test/data/testrunner.js
index 39000c33b..2eb60e499 100644
--- a/test/data/testrunner.js
+++ b/test/data/testrunner.js
@@ -20,74 +20,6 @@ QUnit.config.testTimeout = 60e3; // 1 minute
QUnit.config.requireExpects = true;
/**
- * @param {jQuery|HTMLElement|Object|Array} elems Target (or array of targets) for jQuery.data.
- * @param {string} key
- */
-QUnit.assert.expectJqData = function( env, elems, key ) {
- var i, elem, expando;
-
- // As of jQuery 2.0, there will be no "cache"-data is
- // stored and managed completely below the API surface
- if ( jQuery.cache ) {
- env.checkJqData = true;
-
- if ( elems.jquery && elems.toArray ) {
- elems = elems.toArray();
- }
- if ( !Array.isArray( elems ) ) {
- elems = [ elems ];
- }
-
- for ( i = 0; i < elems.length; i++ ) {
- elem = elems[ i ];
-
- // jQuery.data only stores data for nodes in jQuery.cache,
- // for other data targets the data is stored in the object itself,
- // in that case we can't test that target for memory leaks.
- // But we don't have to since in that case the data will/must will
- // be available as long as the object is not garbage collected by
- // the js engine, and when it is, the data will be removed with it.
- if ( !elem.nodeType ) {
-
- // Fixes false positives for dataTests(window), dataTests({}).
- continue;
- }
-
- expando = elem[ jQuery.expando ];
-
- if ( expando === undefined ) {
-
- // In this case the element exists fine, but
- // jQuery.data (or internal data) was never (in)directly
- // called.
- // Since this method was called it means some data was
- // expected to be found, but since there is nothing, fail early
- // (instead of in teardown).
- this.notStrictEqual(
- expando,
- undefined,
- "Target for expectJqData must have an expando, " +
- "for else there can be no data to expect."
- );
- } else {
- if ( expectedDataKeys[ expando ] ) {
- expectedDataKeys[ expando ].push( key );
- } else {
- expectedDataKeys[ expando ] = [ key ];
- }
- }
- }
- }
-
-};
-QUnit.config.urlConfig.push( {
- id: "jqdata",
- label: "Always check jQuery.data",
- tooltip: "Trigger QUnit.expectJqData detection for all tests " +
- "instead of just the ones that call it"
-} );
-
-/**
* Ensures that tests have cleaned up properly after themselves. Should be passed as the
* teardown function on all modules' lifecycle object.
*/
@@ -95,30 +27,6 @@ window.moduleTeardown = function( assert ) {
var i, expectedKeys, actualKeys,
cacheLength = 0;
- // Only look for jQuery data problems if this test actually
- // provided some information to compare against.
- if ( QUnit.urlParams.jqdata || this.checkJqData ) {
- for ( i in jQuery.cache ) {
- expectedKeys = expectedDataKeys[ i ];
- actualKeys = jQuery.cache[ i ] ? Object.keys( jQuery.cache[ i ] ) : jQuery.cache[ i ];
- if ( !QUnit.equiv( expectedKeys, actualKeys ) ) {
- assert.deepEqual( actualKeys, expectedKeys, "Expected keys exist in jQuery.cache" );
- }
- delete jQuery.cache[ i ];
- delete expectedDataKeys[ i ];
- }
-
- // In case it was removed from cache before (or never there in the first place)
- for ( i in expectedDataKeys ) {
- assert.deepEqual(
- expectedDataKeys[ i ],
- undefined,
- "No unexpected keys were left in jQuery.cache (#" + i + ")"
- );
- delete expectedDataKeys[ i ];
- }
- }
-
// Reset data register
expectedDataKeys = {};
diff --git a/test/unit/attributes.js b/test/unit/attributes.js
index 5bfc0cef5..9d24ff130 100644
--- a/test/unit/attributes.js
+++ b/test/unit/attributes.js
@@ -1430,10 +1430,6 @@ var testToggleClass = function( valueObj, assert ) {
e.toggleClass( false );
e.toggleClass();
assert.ok( e.is( ".testD.testE" ), "Assert class present (restored from data)" );
-
- // Cleanup
- e.removeClass( "testD" );
- assert.expectJqData( this, e[ 0 ], "__className__" );
};
QUnit.test( "toggleClass(String|boolean|undefined[, boolean])", function( assert ) {
diff --git a/test/unit/data.js b/test/unit/data.js
index 3a2047cff..b19833a6b 100644
--- a/test/unit/data.js
+++ b/test/unit/data.js
@@ -132,11 +132,6 @@ QUnit.test( "jQuery.data(div)", function( assert ) {
var div = document.createElement( "div" );
dataTests( div, assert );
-
- // We stored one key in the private data
- // assert that nothing else was put in there, and that that
- // one stayed there.
- assert.expectJqData( this, div, "foo" );
} );
QUnit.test( "jQuery.data({})", function( assert ) {
@@ -159,8 +154,6 @@ QUnit.test( "jQuery.data(document)", function( assert ) {
assert.expect( 25 );
dataTests( document, assert );
-
- assert.expectJqData( this, document, "foo" );
} );
QUnit.test( "jQuery.data(<embed>)", function( assert ) {
diff --git a/test/unit/effects.js b/test/unit/effects.js
index dfe5b7c32..a1fd642ba 100644
--- a/test/unit/effects.js
+++ b/test/unit/effects.js
@@ -90,9 +90,6 @@ QUnit.test( "show()", function( assert ) {
assert.ok( pass, "Show with " + name + " does not call animate callback" );
} );
- // Tolerate data from show()/hide()
- assert.expectJqData( this, div, "olddisplay" );
-
jQuery(
"<div id='show-tests'>" +
"<div><p><a href='#'></a></p><code></code><pre></pre><span></span></div>" +
@@ -217,8 +214,6 @@ supportjQuery.each( hideOptions, function( type, setup ) {
} );
clock.tick( 300 );
-
- assert.expectJqData( this, $span, "olddisplay" );
} );
QUnit[
@@ -252,8 +247,6 @@ supportjQuery.each( hideOptions, function( type, setup ) {
} );
clock.tick( 300 );
-
- assert.expectJqData( this, $shadowChild, "olddisplay" );
} );
} );
@@ -1171,9 +1164,6 @@ QUnit.test( "interrupt toggle", function( assert ) {
// Save original property value for comparison
jQuery.data( this, "startVal", jQuery( this ).css( prop ) );
-
- // Expect olddisplay data from our .hide() call below
- assert.expectJqData( env, this, "olddisplay" );
} );
// Interrupt a hiding toggle
@@ -1623,8 +1613,6 @@ QUnit.test( "animate should set display for disconnected nodes", function( asser
assert.strictEqual( $divInline.show()[ 0 ].style.display, "inline",
"show() should not change display if it already set" );
- assert.expectJqData( env, $divNone[ 0 ], "olddisplay" );
-
jQuery.each( showMethods, function( name, opt ) {
jQuery.fn[ name ].apply( jQuery( "<div></div>" ), opt.concat( [ function() {
assert.strictEqual( jQuery( this ).css( "display" ), nullParentDisplay,