diff --git a/packages/url/src/index.js b/packages/url/src/index.js index afbf1de9e7c162..b4fa34efac51a6 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 276e90da7336f9..31b7e05ecf3e57 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', () => {