Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Core: Deprecate jQuery.trim
Fixes gh-4363
Closes gh-4461

(cherry picked from 5ea5946)
  • Loading branch information
ShashankaNataraj authored and mgol committed Sep 25, 2019
1 parent 2f666c1 commit 56e73e0
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 36 deletions.
13 changes: 1 addition & 12 deletions src/core.js
Expand Up @@ -34,11 +34,7 @@ var
// The jQuery object is actually just the init constructor 'enhanced'
// Need init if jQuery is called (just allow error to be thrown if not included)
return new jQuery.fn.init( selector, context );
},

// Support: Android <=4.0 only
// Make sure we trim BOM and NBSP
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
};

jQuery.fn = jQuery.prototype = {

Expand Down Expand Up @@ -275,13 +271,6 @@ jQuery.extend( {
return obj;
},

// Support: Android <=4.0 only
trim: function( text ) {
return text == null ?
"" :
( text + "" ).replace( rtrim, "" );
},

// results is for internal usage only
makeArray: function( arr, results ) {
var ret = results || [];
Expand Down
9 changes: 9 additions & 0 deletions src/deprecated.js
Expand Up @@ -12,6 +12,10 @@ define( [

"use strict";

// Support: Android <=4.0 only
// Make sure we trim BOM and NBSP
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;

jQuery.fn.extend( {

bind: function( types, data, fn ) {
Expand Down Expand Up @@ -95,4 +99,9 @@ jQuery.isNumeric = function( obj ) {
!isNaN( obj - parseFloat( obj ) );
};

jQuery.trim = function( text ) {
return text == null ?
"" :
( text + "" ).replace( rtrim, "" );
};
} );
3 changes: 1 addition & 2 deletions test/unit/basic.js
Expand Up @@ -76,12 +76,11 @@ QUnit.test( "show/hide", function( assert ) {
}

QUnit.test( "core", function( assert ) {
assert.expect( 18 );
assert.expect( 17 );

var elem = jQuery( "<div></div><span></span>" );

assert.strictEqual( elem.length, 2, "Correct number of elements" );
assert.strictEqual( jQuery.trim( " hello " ), "hello", "jQuery.trim" );

assert.ok( jQuery.isPlainObject( { "a": 2 } ), "jQuery.isPlainObject(object)" );
assert.ok( !jQuery.isPlainObject( "foo" ), "jQuery.isPlainObject(String)" );
Expand Down
22 changes: 0 additions & 22 deletions test/unit/core.js
Expand Up @@ -216,28 +216,6 @@ QUnit.test( "noConflict", function( assert ) {
window[ "jQuery" ] = jQuery = $$;
} );

QUnit.test( "trim", function( assert ) {
assert.expect( 13 );

var nbsp = String.fromCharCode( 160 );

assert.equal( jQuery.trim( "hello " ), "hello", "trailing space" );
assert.equal( jQuery.trim( " hello" ), "hello", "leading space" );
assert.equal( jQuery.trim( " hello " ), "hello", "space on both sides" );
assert.equal( jQuery.trim( " " + nbsp + "hello " + nbsp + " " ), "hello", "&nbsp;" );

assert.equal( jQuery.trim(), "", "Nothing in." );
assert.equal( jQuery.trim( undefined ), "", "Undefined" );
assert.equal( jQuery.trim( null ), "", "Null" );
assert.equal( jQuery.trim( 5 ), "5", "Number" );
assert.equal( jQuery.trim( false ), "false", "Boolean" );

assert.equal( jQuery.trim( " " ), "", "space should be trimmed" );
assert.equal( jQuery.trim( "ipad\xA0" ), "ipad", "nbsp should be trimmed" );
assert.equal( jQuery.trim( "\uFEFF" ), "", "zwsp should be trimmed" );
assert.equal( jQuery.trim( "\uFEFF \xA0! | \uFEFF" ), "! |", "leading/trailing should be trimmed" );
} );

QUnit.test( "isPlainObject", function( assert ) {
var done = assert.async();

Expand Down
22 changes: 22 additions & 0 deletions test/unit/deprecated.js
Expand Up @@ -600,3 +600,25 @@ QUnit[ typeof Symbol === "function" ? "test" : "skip" ]( "isNumeric(Symbol)", fu
assert.equal( jQuery.isNumeric( Symbol() ), false, "Symbol" );
assert.equal( jQuery.isNumeric( Object( Symbol() ) ), false, "Symbol inside an object" );
} );

QUnit.test( "trim", function( assert ) {
assert.expect( 13 );

var nbsp = String.fromCharCode( 160 );

assert.equal( jQuery.trim( "hello " ), "hello", "trailing space" );
assert.equal( jQuery.trim( " hello" ), "hello", "leading space" );
assert.equal( jQuery.trim( " hello " ), "hello", "space on both sides" );
assert.equal( jQuery.trim( " " + nbsp + "hello " + nbsp + " " ), "hello", "&nbsp;" );

assert.equal( jQuery.trim(), "", "Nothing in." );
assert.equal( jQuery.trim( undefined ), "", "Undefined" );
assert.equal( jQuery.trim( null ), "", "Null" );
assert.equal( jQuery.trim( 5 ), "5", "Number" );
assert.equal( jQuery.trim( false ), "false", "Boolean" );

assert.equal( jQuery.trim( " " ), "", "space should be trimmed" );
assert.equal( jQuery.trim( "ipad\xA0" ), "ipad", "nbsp should be trimmed" );
assert.equal( jQuery.trim( "\uFEFF" ), "", "zwsp should be trimmed" );
assert.equal( jQuery.trim( "\uFEFF \xA0! | \uFEFF" ), "! |", "leading/trailing should be trimmed" );
} );

0 comments on commit 56e73e0

Please sign in to comment.