diff --git a/e2e/react-start/basic/rsbuild.config.ts b/e2e/react-start/basic/rsbuild.config.ts index e6ad170a60..23072b6c1b 100644 --- a/e2e/react-start/basic/rsbuild.config.ts +++ b/e2e/react-start/basic/rsbuild.config.ts @@ -7,10 +7,7 @@ const outDir = process.env.E2E_DIST_DIR ?? 'dist' const startModeConfig = getStartModeConfig() export default defineConfig({ - plugins: [ - pluginReact(), - tanstackStart(startModeConfig), - ], + plugins: [pluginReact(), tanstackStart(startModeConfig)], output: { distPath: { root: outDir, diff --git a/packages/router-core/tests/new-process-route-tree.test.ts b/packages/router-core/tests/new-process-route-tree.test.ts index 451ab868c4..1240207c5e 100644 --- a/packages/router-core/tests/new-process-route-tree.test.ts +++ b/packages/router-core/tests/new-process-route-tree.test.ts @@ -717,6 +717,16 @@ describe('findRouteMatch', () => { const tree = makeTree(['/{$}/c/file']) expect(findRouteMatch('/a/b/c/file', tree)?.route.id).toBe('/{$}/c/file') }) + + it.fails('matches U+0130 wildcard suffixes case-insensitively', () => { + // U+0130 is currently the only character whose default lowercase mapping + // changes UTF-16 length, so its folded length cannot index the raw URL. + const tree = makeTree(['/{$}İ']) + expect(findRouteMatch('/valueİ', tree)?.rawParams).toEqual({ + '*': 'value', + _splat: 'value', + }) + }) it('multi-segment wildcard w/ prefix and suffix', () => { const tree = makeTree(['/file{$}end']) expect(findRouteMatch('/file/a/b/c/end', tree)?.route.id).toBe(