diff options
author | 2023-01-12 09:44:18 -0600 | |
---|---|---|
committer | 2023-01-12 09:44:18 -0600 | |
commit | eaa6c458d0176d229f9debc618f63ea62b6f0db1 (patch) | |
tree | 7568502dddf83fdcbabdffe059381a6c2d61f84c /packages/integrations/node/test/encoded.test.js | |
parent | 692b199ec9384cb24d84b538a4bbde8a56073e8e (diff) | |
download | astro-eaa6c458d0176d229f9debc618f63ea62b6f0db1.tar.gz astro-eaa6c458d0176d229f9debc618f63ea62b6f0db1.tar.zst astro-eaa6c458d0176d229f9debc618f63ea62b6f0db1.zip |
fix(core): handle encoded characters when matching routes (#5836)
Co-authored-by: Nate Moore <nate@astro.build>
Diffstat (limited to 'packages/integrations/node/test/encoded.test.js')
-rw-r--r-- | packages/integrations/node/test/encoded.test.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/packages/integrations/node/test/encoded.test.js b/packages/integrations/node/test/encoded.test.js new file mode 100644 index 000000000..162ebd6cc --- /dev/null +++ b/packages/integrations/node/test/encoded.test.js @@ -0,0 +1,44 @@ +import nodejs from '../dist/index.js'; +import { loadFixture, createRequestAndResponse } from './test-utils.js'; +import { expect } from 'chai'; + +describe('Encoded Pathname', () => { + /** @type {import('./test-utils').Fixture} */ + let fixture; + + before(async () => { + fixture = await loadFixture({ + root: './fixtures/encoded/', + output: 'server', + adapter: nodejs({ mode: 'middleware' }), + }); + await fixture.build(); + }); + + it('Can get an Astro file', async () => { + const { handler } = await import('./fixtures/encoded/dist/server/entry.mjs'); + let { req, res, text } = createRequestAndResponse({ + url: '/什么', + }); + + handler(req, res); + req.send(); + + const html = await text(); + expect(html).to.include('什么</h1>'); + }); + + it('Can get a Markdown file', async () => { + const { handler } = await import('./fixtures/encoded/dist/server/entry.mjs'); + + let { req, res, text } = createRequestAndResponse({ + url: '/blog/什么', + }); + + handler(req, res); + req.send(); + + const html = await text(); + expect(html).to.include('什么</h1>'); + }); +}); |