summaryrefslogtreecommitdiff
path: root/packages/integrations/node/test/encoded.test.js
diff options
context:
space:
mode:
authorGravatar Nate Moore <natemoo-re@users.noreply.github.com> 2023-01-12 09:44:18 -0600
committerGravatar GitHub <noreply@github.com> 2023-01-12 09:44:18 -0600
commit63a6ceb38d88331451dca64d0034c7c58e3d26f1 (patch)
tree3e755388a10829f2ea7131846d4794c460b7efa7 /packages/integrations/node/test/encoded.test.js
parentae8a012a7b6884a03c50494332ee37b4505c2c3b (diff)
downloadastro-63a6ceb38d88331451dca64d0034c7c58e3d26f1.tar.gz
astro-63a6ceb38d88331451dca64d0034c7c58e3d26f1.tar.zst
astro-63a6ceb38d88331451dca64d0034c7c58e3d26f1.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.js44
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>');
+ });
+});