worldmap-viewer

git clone https://git.godosa.eu/worldmap-viewer

master

raw · 1034 bytes

import './_planet.mjs';
import { test } from 'node:test';
import assert from 'node:assert/strict';

const { Latest } = await import('../js/latest.js');
const { metaFor } = await import('../js/boot.js');

test('only the newest call is current: an older answer arriving late is dropped', () => {
  const l = new Latest();
  const a = l.next(), b = l.next();
  assert.equal(l.is(a), false);
  assert.equal(l.is(b), true);
});

test('startup meta: an unknown era falls back to the default with a note', async () => {
  const get = async u => { if (u.includes('era=')) throw new Error('unknown era'); return { era: 'hf' }; };
  assert.deepEqual(await metaFor(get, 'x'), { meta: { era: 'hf' }, note: 'Era “x”: unknown era — showing hf' });
  assert.deepEqual(await metaFor(get, ''), { meta: { era: 'hf' }, note: '' });
});

test('startup meta: without an era a failure is not called an unknown era', async () => {
  const get = async () => { throw new Error('502 Bad Gateway'); };
  await assert.rejects(metaFor(get, ''), /502/);
});