From 16c912f27b8aad17e1796162ae039801c198b147 Mon Sep 17 00:00:00 2001 From: Ahmed Date: Fri, 3 Jan 2025 12:19:47 -0600 Subject: [PATCH] fix: allow canonical URL to end with `index` but not `/index` fixes #767 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 eae612e1..ca8ead7c 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 a4c1b67c..91e72496 100644 --- a/test/steps/utils.test.js +++ b/test/steps/utils.test.js @@ -57,10 +57,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', () => {