summaryrefslogtreecommitdiff
path: root/packages/integrations/cloudflare/test/prerender.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/cloudflare/test/prerender.test.js')
-rw-r--r--packages/integrations/cloudflare/test/prerender.test.js45
1 files changed, 43 insertions, 2 deletions
diff --git a/packages/integrations/cloudflare/test/prerender.test.js b/packages/integrations/cloudflare/test/prerender.test.js
index a3ce50d08..5d3ff9f10 100644
--- a/packages/integrations/cloudflare/test/prerender.test.js
+++ b/packages/integrations/cloudflare/test/prerender.test.js
@@ -1,19 +1,60 @@
import { loadFixture } from './test-utils.js';
import { expect } from 'chai';
+import slash from 'slash';
describe('Prerendering', () => {
/** @type {import('./test-utils').Fixture} */
let fixture;
before(async () => {
+ process.env.PRERENDER = true;
fixture = await loadFixture({
root: './fixtures/prerender/',
});
await fixture.build();
});
+ after(() => {
+ delete process.env.PRERENDER;
+ fixture.clean();
+ });
+
+ it('includes prerendered routes in the routes.json config', async () => {
+ const foundRoutes = JSON.parse(await fixture.readFile('/_routes.json')).exclude.map((r) =>
+ slash(r)
+ );
+ const expectedExcludedRoutes = ['/_worker.js', '/one/index.html', '/one/'];
+
+ expect(foundRoutes.every((element) => expectedExcludedRoutes.includes(element))).to.be.true;
+ });
+});
+
+describe('Hybrid rendering', () => {
+ /** @type {import('./test-utils').Fixture} */
+ let fixture;
+
+ before(async () => {
+ process.env.PRERENDER = false;
+ fixture = await loadFixture({
+ root: './fixtures/prerender/',
+ output: 'hybrid',
+ experimental: {
+ hybridOutput: true,
+ },
+ });
+ await fixture.build();
+ });
+
+ after(() => {
+ delete process.env.PRERENDER;
+ });
+
it('includes prerendered routes in the routes.json config', async () => {
- const routes = JSON.parse(await fixture.readFile('/_routes.json'));
- expect(routes.exclude).to.include('/one/');
+ const foundRoutes = JSON.parse(await fixture.readFile('/_routes.json')).exclude.map((r) =>
+ slash(r)
+ );
+ const expectedExcludedRoutes = ['/_worker.js', '/index.html', '/'];
+
+ expect(foundRoutes.every((element) => expectedExcludedRoutes.includes(element))).to.be.true;
});
});