it('keeps original replace if redirect', async () => {
const history = createMemoryHistory()
- const router = createRouter({ history, routes })
+ const { router } = await newRouter({ history })
await router.push('/search')
await expect(router.replace('/to-foo')).resolves.toEqual(undefined)
RouteLocationNormalized,
} from '../src'
import { _RouteRecordProps } from '../src/typed-routes'
+import { type EXPERIMENTAL_Router } from '../src/experimental'
export const tick = (time?: number) =>
new Promise(resolve => {
export const delay = (t: number) => new Promise(r => setTimeout(r, t))
-export function nextNavigation(router: Router) {
+export function nextNavigation(router: Router | EXPERIMENTAL_Router) {
return new Promise((resolve, reject) => {
let removeAfter = router.afterEach((_to, _from, failure) => {
removeAfter()
createFixedResolver,
MatcherPatternPathStatic,
MatcherPatternPathDynamic,
- EXPERIMENTAL_RouteRecord_Matchable,
- EXPERIMENTAL_RouterOptions,
+ type EXPERIMENTAL_RouteRecord_Matchable,
+ type EXPERIMENTAL_RouterOptions,
normalizeRouteRecord,
} from './index'
import {
})
})
- it.skip('keeps original replace if redirect', async () => {
- const { router } = await newRouter()
+ it('keeps original replace if redirect', async () => {
+ const history = createMemoryHistory()
+ const { router } = await newRouter({
+ history,
+ })
await router.push('/search')
await expect(router.replace('/to-foo')).resolves.toEqual(undefined)
redirectedFrom: expect.objectContaining({ path: '/to-foo' }),
})
- const navPromise = nextNavigation(router as any)
history.go(-1)
- await navPromise
+ await nextNavigation(router)
expect(router.currentRoute.value).not.toMatchObject({
path: '/search',
})