From: Eduardo San Martin Morote Date: Wed, 15 Oct 2025 14:30:24 +0000 (+0200) Subject: fix: avoid passing leading ? to parseQuery X-Git-Tag: v4.6.2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=af822e46ba67f45a8aa087bdf16cdaaa8a02c623;p=thirdparty%2Fvuejs%2Frouter.git fix: avoid passing leading ? to parseQuery Fix #2571 --- diff --git a/packages/router/__tests__/location.spec.ts b/packages/router/__tests__/location.spec.ts index 5ac37524..535a65da 100644 --- a/packages/router/__tests__/location.spec.ts +++ b/packages/router/__tests__/location.spec.ts @@ -248,7 +248,7 @@ describe('parseURL', () => { const parseQuery = vi.fn() originalParseURL(parseQuery, '/?é=é&é=a') expect(parseQuery).toHaveBeenCalledTimes(1) - expect(parseQuery).toHaveBeenCalledWith('?é=é&é=a') + expect(parseQuery).toHaveBeenCalledWith('é=é&é=a') }) }) diff --git a/packages/router/__tests__/router.spec.ts b/packages/router/__tests__/router.spec.ts index 0e15d264..1f4431ec 100644 --- a/packages/router/__tests__/router.spec.ts +++ b/packages/router/__tests__/router.spec.ts @@ -175,7 +175,7 @@ describe('Router', () => { const parseQuery = vi.fn(_ => ({})) const { router } = await newRouter({ parseQuery }) const to = router.resolve('/foo?bar=baz') - expect(parseQuery).toHaveBeenCalledWith('?bar=baz') + expect(parseQuery).toHaveBeenCalledWith('bar=baz') expect(to.query).toEqual({}) }) diff --git a/packages/router/src/location.ts b/packages/router/src/location.ts index e32869e4..23bc6f82 100644 --- a/packages/router/src/location.ts +++ b/packages/router/src/location.ts @@ -68,7 +68,10 @@ export function parseURL( hashPos > 0 ? hashPos : location.length ) - query = parseQuery(searchString) + query = parseQuery( + // remove the leading ? + searchString.slice(1) + ) } if (hashPos >= 0) {