testSearchAsksTcmsRegistryByDefault

tcmts.cli.libraries.test.testSearchAsksTcmsRegistryByDefault · #hqjmbekq · term

tcm lib search asks tcm's registry when it's given none and keeps none, without keeping it; a registry given is kept, and asked from then on

import { DEFAULT_REGISTRY, REGISTRY_SETTING, registryToAsk } from "#codebase/tcmts/cli/libraries";
import assert from "node:assert/strict";

export const testSearchAsksTcmsRegistryByDefault = () => {
  const settings = new Map<string, string>();
  const store = {
    getSetting: (k: string) => settings.get(k),
    setSetting: (k: string, v: string) => void settings.set(k, v),
  };
  assert.equal(DEFAULT_REGISTRY, "https://tcm.codes/registry");
  assert.equal(registryToAsk(store, undefined), DEFAULT_REGISTRY);
  assert.equal(settings.size, 0);
  assert.equal(registryToAsk(store, " https://registry.example/ "), "https://registry.example");
  assert.equal(settings.get(REGISTRY_SETTING), "https://registry.example");
  assert.equal(registryToAsk(store, undefined), "https://registry.example");
  assert.throws(
    () => registryToAsk(store, "registry.example"),
    /--registry takes a registry's address/,
  );
}

uses