From f1596458108b8dce1dd2743178f2d177dcc826e8 Mon Sep 17 00:00:00 2001 From: Oliver Eyton-Williams Date: Thu, 26 Sep 2019 18:08:17 +0200 Subject: [PATCH] fix: make dasherize trim first --- utils/slugs.js | 1 + utils/slugs.test.js | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/utils/slugs.js b/utils/slugs.js index 5570e28391..6154e415a8 100644 --- a/utils/slugs.js +++ b/utils/slugs.js @@ -1,6 +1,7 @@ exports.dasherize = function dasherize(name) { return ('' + name) .toLowerCase() + .trim() .replace(/\s/g, '-') .replace(/[^a-z\d\-.]/g, ''); }; diff --git a/utils/slugs.test.js b/utils/slugs.test.js index 8adf5b27e8..81a37ab0cd 100644 --- a/utils/slugs.test.js +++ b/utils/slugs.test.js @@ -11,9 +11,11 @@ describe('dasherize', () => { expect(dasherize('UPPERCASE')).toBe('uppercase'); }); it('converts spaces to dashes', () => { - expect(dasherize(' the space between ')).toBe( - '--the-space--between----' - ); + expect(dasherize('the space between')).toBe('the-space--between'); + }); + + it('trims off surrounding whitespace', () => { + expect(dasherize(' the space between ')).toBe('the-space--between'); }); it('removes everything except letters, numbers, - and .', () => {