Skip to content

Commit 8e86daa

Browse files
committed
test: add test case
1 parent c3e893d commit 8e86daa

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

cypress/e2e/middleware/standard.cy.ts

+6
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ describe('Standard middleware', () => {
4545
expect(response.headers).to.have.property('x-foo', 'bar')
4646
})
4747
})
48+
49+
it('preserves locale on rewrites (skipMiddlewareUrlNormalize: true)', () => {
50+
cy.visit('/de-de/locale-preserving-rewrite')
51+
cy.get('div').should('contain', 'Locale: de-DE')
52+
cy.url().should('eq', `${Cypress.config().baseUrl}/de-de/locale-preserving-rewrite`)
53+
})
4854
})
4955

5056
describe('Middleware matchers', () => {

demos/middleware/middleware.ts

+5
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,10 @@ export async function middleware(req: NextRequest) {
102102
return response
103103
}
104104

105+
if (pathname.includes('locale-preserving-rewrite')) {
106+
return NextResponse.rewrite(new URL('/locale-test', req.url))
107+
}
108+
105109
if (pathname.startsWith('/shows')) {
106110
if (pathname.startsWith('/shows/222')) {
107111
response = NextResponse.next()
@@ -153,6 +157,7 @@ export const config = {
153157
matcher: [
154158
'/api/:all*',
155159
'/headers',
160+
'/:all*/locale-preserving-rewrite',
156161
'/cookies/:path*',
157162
{ source: '/static' },
158163
{source: '/request-rewrite' },

demos/middleware/pages/locale-test.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import * as React from 'react'
2+
3+
const Page = ({ pageLocale }) => {
4+
return <div>Locale: {pageLocale}</div>
5+
}
6+
7+
export async function getServerSideProps({ locale }) {
8+
return {
9+
props: {
10+
pageLocale: locale,
11+
},
12+
}
13+
}
14+
15+
export default Page

0 commit comments

Comments
 (0)