]> source.dussan.org Git - jquery.git/commitdiff
Selector: Properly deprecate `jQuery.expr[ ":" ]`/`jQuery.expr.filters`
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>
Mon, 4 Nov 2024 22:59:30 +0000 (23:59 +0100)
committerGitHub <noreply@github.com>
Mon, 4 Nov 2024 22:59:30 +0000 (23:59 +0100)
Those APIs have formally been deprecated since `3.0.0`, but they never made its
way into the deprecated module.

`jQuery.expr[ ":" ]` has been removed when Sizzle got inlined into Core in
gh-4395; this change restores it.

Closes gh-5580
Ref gh-5570
Ref gh-4395

src/deprecated.js
src/selector.js
test/unit/deprecated.js
test/unit/selector.js

index b2f767cdf20e9c72f03d00876523bee14a57dcbe..ffeeb4ab786bb2ec2b2cdb73ec4ce98b30aa7542 100644 (file)
@@ -43,4 +43,6 @@ jQuery.holdReady = function( hold ) {
        }
 };
 
+jQuery.expr[ ":" ] = jQuery.expr.filters = jQuery.expr.pseudos;
+
 export { jQuery, jQuery as $ };
index da535718ed9372480405428d13a249a220d82c2d..29659206e0b6e83abdde825902429f71d218608d 100644 (file)
@@ -846,7 +846,7 @@ for ( i in { submit: true, reset: true } ) {
 
 // Easy API for creating new setFilters
 function setFilters() {}
-setFilters.prototype = jQuery.expr.filters = jQuery.expr.pseudos;
+setFilters.prototype = jQuery.expr.pseudos;
 jQuery.expr.setFilters = new setFilters();
 
 function addCombinator( matcher, combinator, base ) {
index 5eb099c4509e658310ecf3cd04a8420d8939cf8c..dd9aaee9cec05a331473bdcee76eadf29844bf5f 100644 (file)
@@ -205,4 +205,17 @@ QUnit.test( "jQuery.proxy", function( assert ) {
        cb.call( thisObject, "arg3" );
 } );
 
+if ( includesModule( "selector" ) ) {
+       QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ](
+               "jQuery.expr[ \":\" ], jQuery.expr.filters",
+               function( assert ) {
+                       assert.expect( 2 );
+
+                       assert.strictEqual( jQuery.expr[ ":" ], jQuery.expr.pseudos,
+                               "jQuery.expr[ \":\" ] is an alias of jQuery.expr.pseudos" );
+                       assert.strictEqual( jQuery.expr.filters, jQuery.expr.pseudos,
+                               "jQuery.expr.filters is an alias of jQuery.expr.pseudos" );
+               } );
+}
+
 }
index 494bf5876773c0a53988e9bac1c295b79472e67b..1c3358254752b69dfafcaa7d35353028b64280c3 100644 (file)
@@ -2167,10 +2167,10 @@ QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ]( "custom pseudos", function( as
        assert.expect( 6 );
 
        try {
-               jQuery.expr.filters.foundation = jQuery.expr.filters.root;
+               jQuery.expr.pseudos.foundation = jQuery.expr.pseudos.root;
                assert.deepEqual( jQuery.find( ":foundation" ), [ document.documentElement ], "Copy element filter with new name" );
        } finally {
-               delete jQuery.expr.filters.foundation;
+               delete jQuery.expr.pseudos.foundation;
        }
 
        try {
@@ -2181,25 +2181,25 @@ QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ]( "custom pseudos", function( as
        }
 
        try {
-               jQuery.expr.filters.aristotlean = jQuery.expr.createPseudo( function() {
+               jQuery.expr.pseudos.aristotlean = jQuery.expr.createPseudo( function() {
                        return function( elem ) {
                                return !!elem.id;
                        };
                } );
                assert.t( "Custom element filter", "#foo :aristotlean", [ "sndp", "en", "yahoo", "sap", "anchor2", "timmy" ] );
        } finally {
-               delete jQuery.expr.filters.aristotlean;
+               delete jQuery.expr.pseudos.aristotlean;
        }
 
        try {
-               jQuery.expr.filters.endswith = jQuery.expr.createPseudo( function( text ) {
+               jQuery.expr.pseudos.endswith = jQuery.expr.createPseudo( function( text ) {
                        return function( elem ) {
                                return jQuery.text( elem ).slice( -text.length ) === text;
                        };
                } );
                assert.t( "Custom element filter with argument", "a:endswith(ogle)", [ "google" ] );
        } finally {
-               delete jQuery.expr.filters.endswith;
+               delete jQuery.expr.pseudos.endswith;
        }
 
        try {
@@ -2213,7 +2213,7 @@ QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ]( "custom pseudos", function( as
                } );
                assert.t( "Custom set filter", "#qunit-fixture p:second", [ "ap" ] );
        } finally {
-               delete jQuery.expr.filters.second;
+               delete jQuery.expr.setFilters.second;
        }
 
        try {
@@ -2233,7 +2233,7 @@ QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ]( "custom pseudos", function( as
                } );
                assert.t( "Custom set filter with argument", "#qunit-fixture p:slice(1:3)", [ "ap", "sndp" ] );
        } finally {
-               delete jQuery.expr.filters.slice;
+               delete jQuery.expr.setFilters.slice;
        }
 } );