Skip to content

Commit

Permalink
Selector: Properly deprecate jQuery.expr[ ":" ]/jQuery.expr.filters
Browse files Browse the repository at this point in the history
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
jquerygh-4395; this change restores it.

Closes jquerygh-5580
Ref jquerygh-5570
Ref jquerygh-4395
  • Loading branch information
mgol authored Nov 4, 2024
1 parent 07c9f02 commit 329661f
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 9 deletions.
2 changes: 2 additions & 0 deletions src/deprecated.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,6 @@ jQuery.holdReady = function( hold ) {
}
};

jQuery.expr[ ":" ] = jQuery.expr.filters = jQuery.expr.pseudos;

export { jQuery, jQuery as $ };
2 changes: 1 addition & 1 deletion src/selector.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 ) {
Expand Down
13 changes: 13 additions & 0 deletions test/unit/deprecated.js
Original file line number Diff line number Diff line change
Expand Up @@ -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" );
} );
}

}
16 changes: 8 additions & 8 deletions test/unit/selector.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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 {
Expand All @@ -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 {
Expand All @@ -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;
}
} );

Expand Down

0 comments on commit 329661f

Please sign in to comment.