tricu

An interpreted language for exploring Tree Calculus
Log | Files | Refs | README | LICENSE

demo-inputs.test.mjs (745B)


      1 import test from 'node:test';
      2 import assert from 'node:assert/strict';
      3 import { readFile } from 'node:fs/promises';
      4 import { demoInputLabels } from '../dist/demo-inputs.js';
      5 
      6 test('curated presentation labels match preset argument counts and known order',async()=>{
      7  const entries=JSON.parse(await readFile(new URL('../catalogue.json',import.meta.url)));
      8  for(const entry of entries)for(const [name,preset] of Object.entries(entry.presets??{[entry.export]:entry}))
      9   assert.equal(demoInputLabels(entry.id,name).length,preset.arguments.length,`${entry.id}:${name}`);
     10  assert.deepEqual(demoInputLabels('shipping','v1'),['Destination','Cart subtotal (cents)','Package weight (grams)']);
     11  assert.deepEqual(demoInputLabels('unknown','main'),[]);
     12 });