Skip to content

Commit 5eab9df

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. Closes jquerygh-5570 Ref jquerygh-5580
1 parent be4f9ec commit 5eab9df

File tree

5 files changed

+35
-16
lines changed

5 files changed

+35
-16
lines changed

src/deprecated.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,8 @@ jQuery.trim = function( text ) {
8686
"" :
8787
( text + "" ).replace( rtrim, "$1" );
8888
};
89+
90+
jQuery.expr[ ":" ] = jQuery.expr.filters = jQuery.expr.pseudos;
91+
jQuery.unique = jQuery.uniqueSort;
92+
8993
} );

src/selector-native.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ jQuery.extend( {
124124
// elements in the full selector module. This will be a minor
125125
// breaking change in 4.0.0.
126126
uniqueSort: uniqueSort,
127-
unique: uniqueSort,
128127

129128
find: function( selector, context, results, seed ) {
130129
var elem, nodeType,

src/selector.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1473,7 +1473,7 @@ for ( i in { submit: true, reset: true } ) {
14731473

14741474
// Easy API for creating new setFilters
14751475
function setFilters() {}
1476-
setFilters.prototype = Expr.filters = Expr.pseudos;
1476+
setFilters.prototype = Expr.pseudos;
14771477
Expr.setFilters = new setFilters();
14781478

14791479
function tokenize( selector, parseOnly ) {
@@ -2092,10 +2092,6 @@ support.sortDetached = assert( function( el ) {
20922092

20932093
jQuery.find = find;
20942094

2095-
// Deprecated
2096-
jQuery.expr[ ":" ] = jQuery.expr.pseudos;
2097-
jQuery.unique = jQuery.uniqueSort;
2098-
20992095
// These have always been private, but they used to be documented as part of
21002096
// Sizzle so let's maintain them for now for backwards compatibility purposes.
21012097
find.compile = compile;

test/unit/deprecated.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,4 +704,24 @@ if ( includesModule( "deferred" ) ) {
704704
} );
705705
}
706706

707+
if ( includesModule( "selector" ) ) {
708+
QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ](
709+
"jQuery.expr[ \":\" ], jQuery.expr.filters",
710+
function( assert ) {
711+
assert.expect( 2 );
712+
713+
assert.strictEqual( jQuery.expr[ ":" ], jQuery.expr.pseudos,
714+
"jQuery.expr[ \":\" ] is an alias of jQuery.expr.pseudos" );
715+
assert.strictEqual( jQuery.expr.filters, jQuery.expr.pseudos,
716+
"jQuery.expr.filters is an alias of jQuery.expr.pseudos" );
717+
} );
718+
}
719+
720+
QUnit.test( "jQuery.unique", function( assert ) {
721+
assert.expect( 1 );
722+
723+
assert.strictEqual( jQuery.unique, jQuery.uniqueSort,
724+
"jQuery.unique is an alias of jQuery.uniqueSort" );
725+
} );
726+
707727
}

test/unit/selector.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2346,10 +2346,10 @@ QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ]( "custom pseudos", function( as
23462346
assert.expect( 6 );
23472347

23482348
try {
2349-
jQuery.expr.filters.foundation = jQuery.expr.filters.root;
2349+
jQuery.expr.pseudos.foundation = jQuery.expr.pseudos.root;
23502350
assert.deepEqual( jQuery.find( ":foundation" ), [ document.documentElement ], "Copy element filter with new name" );
23512351
} finally {
2352-
delete jQuery.expr.filters.foundation;
2352+
delete jQuery.expr.pseudos.foundation;
23532353
}
23542354

23552355
try {
@@ -2360,25 +2360,25 @@ QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ]( "custom pseudos", function( as
23602360
}
23612361

23622362
try {
2363-
jQuery.expr.filters.aristotlean = jQuery.expr.createPseudo( function() {
2363+
jQuery.expr.pseudos.aristotlean = jQuery.expr.createPseudo( function() {
23642364
return function( elem ) {
23652365
return !!elem.id;
23662366
};
23672367
} );
23682368
assert.t( "Custom element filter", "#foo :aristotlean", [ "sndp", "en", "yahoo", "sap", "anchor2", "timmy" ] );
23692369
} finally {
2370-
delete jQuery.expr.filters.aristotlean;
2370+
delete jQuery.expr.pseudos.aristotlean;
23712371
}
23722372

23732373
try {
2374-
jQuery.expr.filters.endswith = jQuery.expr.createPseudo( function( text ) {
2374+
jQuery.expr.pseudos.endswith = jQuery.expr.createPseudo( function( text ) {
23752375
return function( elem ) {
23762376
return jQuery.text( elem ).slice( -text.length ) === text;
23772377
};
23782378
} );
23792379
assert.t( "Custom element filter with argument", "a:endswith(ogle)", [ "google" ] );
23802380
} finally {
2381-
delete jQuery.expr.filters.endswith;
2381+
delete jQuery.expr.pseudos.endswith;
23822382
}
23832383

23842384
try {
@@ -2392,7 +2392,7 @@ QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ]( "custom pseudos", function( as
23922392
} );
23932393
assert.t( "Custom set filter", "#qunit-fixture p:second", [ "ap" ] );
23942394
} finally {
2395-
delete jQuery.expr.filters.second;
2395+
delete jQuery.expr.setFilters.second;
23962396
}
23972397

23982398
try {
@@ -2412,20 +2412,20 @@ QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ]( "custom pseudos", function( as
24122412
} );
24132413
assert.t( "Custom set filter with argument", "#qunit-fixture p:slice(1:3)", [ "ap", "sndp" ] );
24142414
} finally {
2415-
delete jQuery.expr.filters.slice;
2415+
delete jQuery.expr.setFilters.slice;
24162416
}
24172417
} );
24182418

24192419
QUnit[ QUnit.jQuerySelectors ? "test" : "skip" ]( "backwards-compatible custom pseudos", function( assert ) {
24202420
assert.expect( 3 );
24212421

24222422
try {
2423-
jQuery.expr.filters.icontains = function( elem, i, match ) {
2423+
jQuery.expr.pseudos.icontains = function( elem, i, match ) {
24242424
return jQuery.text( elem ).toLowerCase().indexOf( ( match[ 3 ] || "" ).toLowerCase() ) > -1;
24252425
};
24262426
assert.t( "Custom element filter with argument", "a:icontains(THIS BLOG ENTRY)", [ "john1" ] );
24272427
} finally {
2428-
delete jQuery.expr.filters.icontains;
2428+
delete jQuery.expr.pseudos.icontains;
24292429
}
24302430

24312431
try {

0 commit comments

Comments
 (0)