From ad8839cc21ae7beafbdea915ffc0a9ed41fa1884 Mon Sep 17 00:00:00 2001 From: Ahmed Musallam Date: Mon, 6 Jan 2025 02:43:56 -0600 Subject: [PATCH] fix: allow canonical URL to end with `index` but not `/index` Fixes #767 --- src/steps/utils.js | 2 +- test/steps/utils.test.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/steps/utils.js b/src/steps/utils.js index b1afe0d9..acf7536d 100644 --- a/src/steps/utils.js +++ b/src/steps/utils.js @@ -54,7 +54,7 @@ export function makeCanonicalHtmlUrl(url) { if (base.endsWith('.html')) { base = base.substring(0, base.length - 5); } - if (base.endsWith('index')) { + if (base.endsWith('/index')) { base = base.substring(0, base.length - 5); } return `${base}${query}`; diff --git a/test/steps/utils.test.js b/test/steps/utils.test.js index c6e5d9a3..7ce2a8d8 100644 --- a/test/steps/utils.test.js +++ b/test/steps/utils.test.js @@ -58,10 +58,12 @@ describe('Make canonical URL', () => { it('get correct canonical url', () => { assert.strictEqual(makeCanonicalHtmlUrl(null), null); assert.strictEqual(makeCanonicalHtmlUrl('https://spark.adobe.com/'), 'https://spark.adobe.com/'); + assert.strictEqual(makeCanonicalHtmlUrl('https://spark.adobe.com/index'), 'https://spark.adobe.com/'); assert.strictEqual(makeCanonicalHtmlUrl('https://spark.adobe.com/foo'), 'https://spark.adobe.com/foo'); assert.strictEqual(makeCanonicalHtmlUrl('https://spark.adobe.com/foo.html'), 'https://spark.adobe.com/foo'); assert.strictEqual(makeCanonicalHtmlUrl('https://spark.adobe.com/foo/index.html'), 'https://spark.adobe.com/foo/'); assert.strictEqual(makeCanonicalHtmlUrl('https://spark.adobe.com/foo/index'), 'https://spark.adobe.com/foo/'); + assert.strictEqual(makeCanonicalHtmlUrl('https://spark.adobe.com/foo-index'), 'https://spark.adobe.com/foo-index'); }); it('get correct canonical url with query', () => {