summaryrefslogtreecommitdiff
path: root/test/snowpack-integration.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/snowpack-integration.test.js')
-rw-r--r--test/snowpack-integration.test.js91
1 files changed, 0 insertions, 91 deletions
diff --git a/test/snowpack-integration.test.js b/test/snowpack-integration.test.js
deleted file mode 100644
index eff5b6756..000000000
--- a/test/snowpack-integration.test.js
+++ /dev/null
@@ -1,91 +0,0 @@
-import { fileURLToPath } from 'url';
-import { suite } from 'uvu';
-import * as assert from 'uvu/assert';
-import { createRuntime } from '../lib/runtime.js';
-import { loadConfig } from '../lib/config.js';
-import { promises as fsPromises } from 'fs';
-import { relative as pathRelative } from 'path';
-
-const { readdir, stat } = fsPromises;
-
-const SnowpackDev = suite('snowpack.dev');
-
-let runtime, cwd, setupError;
-
-SnowpackDev.before(async () => {
- // Bug: Snowpack config is still loaded relative to the current working directory.
- cwd = process.cwd();
- process.chdir(fileURLToPath(new URL('../examples/snowpack/', import.meta.url)));
-
- const astroConfig = await loadConfig(fileURLToPath(new URL('../examples/snowpack', import.meta.url)));
-
- const logging = {
- level: 'error',
- dest: process.stderr,
- };
-
- try {
- runtime = await createRuntime(astroConfig, { logging });
- } catch (err) {
- // eslint-disable-next-line no-console
- console.error(err);
- setupError = err;
- }
-});
-
-SnowpackDev.after(async () => {
- process.chdir(cwd);
- (await runtime) && runtime.shutdown();
-});
-/** create an iterator for all page files */
-async function* allPageFiles(root) {
- for (const filename of await readdir(root)) {
- const fullpath = new URL(filename, root);
- const info = await stat(fullpath);
-
- if (info.isDirectory()) {
- yield* allPageFiles(new URL(fullpath + '/'));
- } else {
- yield fullpath;
- }
- }
-}
-/** create an iterator for all pages and yield the relative paths */
-async function* allPages(root) {
- for await (let fileURL of allPageFiles(root)) {
- let bare = fileURLToPath(fileURL)
- .replace(/\.(astro|md)$/, '')
- .replace(/index$/, '');
-
- yield '/' + pathRelative(fileURLToPath(root), bare);
- }
-}
-
-SnowpackDev('No error creating the runtime', () => {
- assert.equal(setupError, undefined);
-});
-
-SnowpackDev('Can load every page', async () => {
- const failed = [];
-
- const pageRoot = new URL('../examples/snowpack/src/pages/', import.meta.url);
- for await (let pathname of allPages(pageRoot)) {
- if (pathname.includes('proof-of-concept-dynamic')) {
- continue;
- }
- const result = await runtime.load(pathname);
- if (result.statusCode === 500) {
- failed.push({ ...result, pathname });
- continue;
- }
- assert.equal(result.statusCode, 200, `Loading ${pathname}`);
- }
-
- if (failed.length > 0) {
- // eslint-disable-next-line no-console
- console.error(failed);
- }
- assert.equal(failed.length, 0, 'Failed pages');
-});
-
-SnowpackDev.run();