Skip to content

Commit 329661f

Browse files
authored
Selector: Properly deprecate jQuery.expr[ ":" ]/jQuery.expr.filters
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
1 parent 07c9f02 commit 329661f

File tree

4 files changed

+24
-9
lines changed

4 files changed

+24
-9
lines changed

src/deprecated.js

+2
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,6 @@ jQuery.holdReady = function( hold ) {
4343
}
4444
};
4545

46+
jQuery.expr[ ":" ] = jQuery.expr.filters = jQuery.expr.pseudos;
47+
4648
export { jQuery, jQuery as $ };

src/selector.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -846,7 +846,7 @@ for ( i in { submit: true, reset: true } ) {
846846

847847
// Easy API for creating new setFilters
848848
function setFilters() {}
849-
setFilters.prototype = jQuery.expr.filters = jQuery.expr.pseudos;
849+
setFilters.prototype = jQuery.expr.pseudos;
850850
jQuery.expr.setFilters = new setFilters();
851851

852852
function addCombinator( matcher, combinator, base ) {

test/unit/deprecated.js

+13
Original file line numberDiff line numberDiff line change
@@ -205,4 +205,17 @@ QUnit.test( "jQuery.proxy", function( assert ) {
205205
cb.call( thisObject, "arg3" );
206206
} );
207207

208+
if ( includesModule( "selector" ) ) {
209+
QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ](
210+
"jQuery.expr[ \":\" ], jQuery.expr.filters",
211+
function( assert ) {
212+
assert.expect( 2 );
213+
214+
assert.strictEqual( jQuery.expr[ ":" ], jQuery.expr.pseudos,
215+
"jQuery.expr[ \":\" ] is an alias of jQuery.expr.pseudos" );
216+
assert.strictEqual( jQuery.expr.filters, jQuery.expr.pseudos,
217+
"jQuery.expr.filters is an alias of jQuery.expr.pseudos" );
218+
} );
219+
}
220+
208221
}

test/unit/selector.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -2167,10 +2167,10 @@ QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ]( "custom pseudos", function( as
21672167
assert.expect( 6 );
21682168

21692169
try {
2170-
jQuery.expr.filters.foundation = jQuery.expr.filters.root;
2170+
jQuery.expr.pseudos.foundation = jQuery.expr.pseudos.root;
21712171
assert.deepEqual( jQuery.find( ":foundation" ), [ document.documentElement ], "Copy element filter with new name" );
21722172
} finally {
2173-
delete jQuery.expr.filters.foundation;
2173+
delete jQuery.expr.pseudos.foundation;
21742174
}
21752175

21762176
try {
@@ -2181,25 +2181,25 @@ QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ]( "custom pseudos", function( as
21812181
}
21822182

21832183
try {
2184-
jQuery.expr.filters.aristotlean = jQuery.expr.createPseudo( function() {
2184+
jQuery.expr.pseudos.aristotlean = jQuery.expr.createPseudo( function() {
21852185
return function( elem ) {
21862186
return !!elem.id;
21872187
};
21882188
} );
21892189
assert.t( "Custom element filter", "#foo :aristotlean", [ "sndp", "en", "yahoo", "sap", "anchor2", "timmy" ] );
21902190
} finally {
2191-
delete jQuery.expr.filters.aristotlean;
2191+
delete jQuery.expr.pseudos.aristotlean;
21922192
}
21932193

21942194
try {
2195-
jQuery.expr.filters.endswith = jQuery.expr.createPseudo( function( text ) {
2195+
jQuery.expr.pseudos.endswith = jQuery.expr.createPseudo( function( text ) {
21962196
return function( elem ) {
21972197
return jQuery.text( elem ).slice( -text.length ) === text;
21982198
};
21992199
} );
22002200
assert.t( "Custom element filter with argument", "a:endswith(ogle)", [ "google" ] );
22012201
} finally {
2202-
delete jQuery.expr.filters.endswith;
2202+
delete jQuery.expr.pseudos.endswith;
22032203
}
22042204

22052205
try {
@@ -2213,7 +2213,7 @@ QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ]( "custom pseudos", function( as
22132213
} );
22142214
assert.t( "Custom set filter", "#qunit-fixture p:second", [ "ap" ] );
22152215
} finally {
2216-
delete jQuery.expr.filters.second;
2216+
delete jQuery.expr.setFilters.second;
22172217
}
22182218

22192219
try {
@@ -2233,7 +2233,7 @@ QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ]( "custom pseudos", function( as
22332233
} );
22342234
assert.t( "Custom set filter with argument", "#qunit-fixture p:slice(1:3)", [ "ap", "sndp" ] );
22352235
} finally {
2236-
delete jQuery.expr.filters.slice;
2236+
delete jQuery.expr.setFilters.slice;
22372237
}
22382238
} );
22392239

0 commit comments

Comments
 (0)