]> git.ipfire.org Git - thirdparty/vuejs/router.git/commitdiff
fix: avoid passing leading ? to parseQuery
authorEduardo San Martin Morote <posva13@gmail.com>
Wed, 15 Oct 2025 14:30:24 +0000 (16:30 +0200)
committerEduardo San Martin Morote <posva13@gmail.com>
Wed, 15 Oct 2025 14:30:24 +0000 (16:30 +0200)
Fix #2571

packages/router/__tests__/location.spec.ts
packages/router/__tests__/router.spec.ts
packages/router/src/location.ts

index 5ac3752495ee4432cb5bcdbc911a124a1261175c..535a65da9b43b8452811920a583b6a1887a1c214 100644 (file)
@@ -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')
   })
 })
 
index 0e15d264c41f82283ca7b80c386b72e75ad1ed6a..1f4431ec77509d9bc17b9179c22ea582e11f4367 100644 (file)
@@ -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({})
   })
 
index e32869e4a033c5fcab0771b607c42da13e7b47fc..23bc6f82bf92347dc3ef7fe0904e150b3bc8cb61 100644 (file)
@@ -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) {