From: Eduardo San Martin Morote Date: Sat, 16 Aug 2025 15:00:15 +0000 (+0200) Subject: fix: keep path case X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1def9ae1f46d97cd03349dbea3e4f584f62e3ca9;p=thirdparty%2Fvuejs%2Frouter.git fix: keep path case --- diff --git a/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.spec.ts b/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.spec.ts index 6381c13c..74a8c3f6 100644 --- a/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.spec.ts +++ b/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.spec.ts @@ -41,6 +41,11 @@ describe('MatcherPatternPathStatic', () => { const pattern = new MatcherPatternPathStatic('/') expect(pattern.build()).toBe('/') }) + + it('preserves case', () => { + const pattern = new MatcherPatternPathStatic('/Team') + expect(pattern.build()).toBe('/Team') + }) }) }) diff --git a/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.ts b/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.ts index d16a51ae..901d7509 100644 --- a/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.ts +++ b/packages/router/src/experimental/route-resolver/matchers/matcher-pattern.ts @@ -63,13 +63,18 @@ export interface MatcherPatternPath< export class MatcherPatternPathStatic implements MatcherPatternPath { - private path: string - constructor(path: string) { - this.path = path.toLowerCase() + /** + * lowercase version of the path to match against. + * This is used to make the matching case insensitive. + */ + private pathi: string + + constructor(private path: string) { + this.pathi = path.toLowerCase() } match(path: string): EmptyParams { - if (path.toLowerCase() !== this.path) { + if (path.toLowerCase() !== this.pathi) { throw miss() } return {}