testDependenciesAreReferencedByHash

tcmts.core.test.hash.testDependenciesAreReferencedByHash · #fvqunbcp · term

Dependencies are referenced by hash, so the name a dependency is referenced by doesn't matter.

import { hashes } from "#codebase/tcmts/core/test/hash";
import assert from "node:assert/strict";

export const testDependenciesAreReferencedByHash = () => {
  const a = hashes(`const base = 2; const scale = (x: number) => x * base`);
  const b = hashes(`const two = 2; const scale = (x: number) => x * two`);
  assert.equal(a.base, b.two);
  assert.equal(a.scale, b.scale);
  const c = hashes(`const base = 3; const scale = (x: number) => x * base`);
  assert.notEqual(c.scale, a.scale, "changing a dependency changes dependents");
}

uses