diff options
author | 2023-11-30 22:42:29 +0800 | |
---|---|---|
committer | 2023-11-30 22:42:29 +0800 | |
commit | 05628aaa3c9a3702b59cbf3d0e99abf66df651df (patch) | |
tree | a5212b8b8f12d734579db8a2bb90dd4c772cba44 /packages/integrations/node/test | |
parent | 9c2342c327a13d2f7d1eb387b743e81f431b9813 (diff) | |
parent | ff8eadb95d34833baaf3ec7575bf4f293eae97da (diff) | |
download | astro-05628aaa3c9a3702b59cbf3d0e99abf66df651df.tar.gz astro-05628aaa3c9a3702b59cbf3d0e99abf66df651df.tar.zst astro-05628aaa3c9a3702b59cbf3d0e99abf66df651df.zip |
Merge branch 'main' into next
Diffstat (limited to 'packages/integrations/node/test')
3 files changed, 58 insertions, 0 deletions
diff --git a/packages/integrations/node/test/assets.test.js b/packages/integrations/node/test/assets.test.js new file mode 100644 index 000000000..9e44ab31d --- /dev/null +++ b/packages/integrations/node/test/assets.test.js @@ -0,0 +1,43 @@ +import { expect } from 'chai'; +import nodejs from '../dist/index.js'; +import { loadFixture } from './test-utils.js'; +import * as cheerio from 'cheerio'; + +describe('Assets', () => { + /** @type {import('./test-utils').Fixture} */ + let fixture; + let devPreview; + + before(async () => { + fixture = await loadFixture({ + root: './fixtures/image/', + output: 'server', + adapter: nodejs({ mode: 'standalone' }), + vite: { + build: { + assetsInlineLimit: 0, + }, + }, + }); + await fixture.build(); + devPreview = await fixture.preview(); + }); + + after(async () => { + await devPreview.stop(); + }); + + it('Assets within the _astro folder should be given immutable headers', async () => { + let response = await fixture.fetch('/text-file'); + let cacheControl = response.headers.get('cache-control'); + expect(cacheControl).to.equal(null); + const html = await response.text(); + const $ = cheerio.load(html); + + // Fetch the asset + const fileURL = $('a').attr('href'); + response = await fixture.fetch(fileURL); + cacheControl = response.headers.get('cache-control'); + expect(cacheControl).to.equal('public, max-age=31536000, immutable'); + }); +}); diff --git a/packages/integrations/node/test/fixtures/image/src/assets/file.txt b/packages/integrations/node/test/fixtures/image/src/assets/file.txt new file mode 100644 index 000000000..e9ea42a12 --- /dev/null +++ b/packages/integrations/node/test/fixtures/image/src/assets/file.txt @@ -0,0 +1 @@ +this is a text file diff --git a/packages/integrations/node/test/fixtures/image/src/pages/text-file.astro b/packages/integrations/node/test/fixtures/image/src/pages/text-file.astro new file mode 100644 index 000000000..893250360 --- /dev/null +++ b/packages/integrations/node/test/fixtures/image/src/pages/text-file.astro @@ -0,0 +1,14 @@ +--- +import txt from '../assets/file.txt?url'; +--- +<html> + <head> + <title>Testing</title> + </head> + <body> + <h1>Testing</h1> + <main> + <a href={txt} download>Download text file</a> + </main> + </body> +</html> |