« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/test/data-tests/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/data-tests/index.js')
-rw-r--r--test/data-tests/index.js125
1 files changed, 0 insertions, 125 deletions
diff --git a/test/data-tests/index.js b/test/data-tests/index.js
deleted file mode 100644
index 1b9ec990..00000000
--- a/test/data-tests/index.js
+++ /dev/null
@@ -1,125 +0,0 @@
-import chokidar from 'chokidar';
-import * as path from 'path';
-import {fileURLToPath} from 'url';
-
-import {quickLoadAllFromYAML} from '../../src/data/yaml.js';
-import {isMain} from '../../src/util/node-utils.js';
-import {getContextAssignments} from '../../src/repl.js';
-
-import {
-  color,
-  logError,
-  logInfo,
-  logWarn,
-  parseOptions,
-} from '../../src/util/cli.js';
-
-import {
-  bindOpts,
-  showAggregate,
-} from '../../src/util/sugar.js';
-
-async function main() {
-  const miscOptions = await parseOptions(process.argv.slice(2), {
-    'data-path': {
-      type: 'value',
-    },
-  });
-
-  const dataPath = miscOptions['data-path'] || process.env.HSMUSIC_DATA;
-
-  if (!dataPath) {
-    logError`Expected --data-path option or HSMUSIC_DATA to be set`;
-    return;
-  }
-
-  console.log(`HSMusic automated data tests`);
-  console.log(`${color.bright(color.yellow(`:star:`))} Now featuring quick-reloading! ${color.bright(color.cyan(`:earth:`))}`);
-
-  // Watch adjacent files in data-tests directory
-  const metaPath = fileURLToPath(import.meta.url);
-  const metaDirname = path.dirname(metaPath);
-  const watcher = chokidar.watch(metaDirname);
-
-  const wikiData = await quickLoadAllFromYAML(dataPath, {
-    showAggregate: bindOpts(showAggregate, {
-      showTraces: false,
-    }),
-  });
-
-  const context = await getContextAssignments({
-    wikiData,
-  });
-
-  let resolveNext;
-
-  const queue = [];
-
-  watcher.on('all', (event, path) => {
-    if (!['add', 'change'].includes(event)) return;
-    if (path === metaPath) return;
-    if (resolveNext) {
-      resolveNext(path);
-    } else if (!queue.includes(path)) {
-      queue.push(path);
-    }
-  });
-
-  logInfo`Awaiting file changes.`;
-
-  /* eslint-disable-next-line no-constant-condition */
-  while (true) {
-    const testPath = (queue.length
-      ? queue.shift()
-      : await new Promise(resolve => {
-          resolveNext = resolve;
-        }));
-
-    resolveNext = null;
-
-    const shortPath = path.basename(testPath);
-
-    logInfo`Path updated: ${shortPath} - running this test!`;
-
-    let imp;
-    try {
-      imp = await import(`${testPath}?${Date.now()}`)
-    } catch (error) {
-      logWarn`Failed to import ${shortPath} - ${error.constructor.name} details below:`;
-      console.error(error);
-      continue;
-    }
-
-    const {default: testFn} = imp;
-
-    if (!testFn) {
-      logWarn`No default export for ${shortPath}`;
-      logWarn`Skipping this test for now!`;
-      continue;
-    }
-
-    if (typeof testFn !== 'function') {
-      logWarn`Default export for ${shortPath} is ${typeof testFn}, not function`;
-      logWarn`Skipping this test for now!`;
-      continue;
-    }
-
-    try {
-      await testFn(context);
-    } catch (error) {
-      showAggregate(error, {
-        pathToFileURL: f => path.relative(metaDirname, fileURLToPath(f)),
-      });
-    }
-  }
-}
-
-if (isMain(import.meta.url)) {
-  main().catch((error) => {
-    if (error instanceof AggregateError) {
-      showAggregate(error);
-    } else {
-      console.error(error);
-    }
-  });
-}