From e420ac2dbbe9058f736637ca5653bf36ecef4dbc Mon Sep 17 00:00:00 2001 From: Michael Joseph Panaga Date: Wed, 4 Sep 2019 14:29:40 +0800 Subject: [PATCH] Fix: Packages\Url: Trim leading and trailing whitespaces (#17320) * Fix: Packages\Url: Trim leading and trailing whitespaces * Added unit tests for prependHTTP() --- packages/url/src/index.js | 1 + packages/url/src/test/index.test.js | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/packages/url/src/index.js b/packages/url/src/index.js index afbf1de9e7c16..b4fa34efac51a 100644 --- a/packages/url/src/index.js +++ b/packages/url/src/index.js @@ -360,6 +360,7 @@ export function removeQueryArgs( url, ...args ) { * @return {string} The updated URL. */ export function prependHTTP( url ) { + url = url.trim(); if ( ! USABLE_HREF_REGEXP.test( url ) && ! EMAIL_REGEXP.test( url ) ) { return 'http://' + url; } diff --git a/packages/url/src/test/index.test.js b/packages/url/src/test/index.test.js index 276e90da7336f..31b7e05ecf3e5 100644 --- a/packages/url/src/test/index.test.js +++ b/packages/url/src/test/index.test.js @@ -496,6 +496,18 @@ describe( 'prependHTTP', () => { expect( prependHTTP( url ) ).toBe( url ); } ); + + it( 'should remove leading whitespace before prepending HTTP', () => { + const url = ' wordpress.org'; + + expect( prependHTTP( url ) ).toBe( 'http://wordpress.org' ); + } ); + + it( 'should not have trailing whitespaces', () => { + const url = 'wordpress.org '; + + expect( prependHTTP( url ) ).toBe( 'http://wordpress.org' ); + } ); } ); describe( 'safeDecodeURI', () => {