Files
NetMesh/components/terminal/GhostSuggestionPolicy.test.ts

23 lines
818 B
TypeScript
Raw Normal View History

import test from "node:test";
import assert from "node:assert/strict";
import { decideGhostSuggestion } from "./autocomplete/ghostSuggestionPolicy.ts";
test("keeps the active ghost suggestion while input still fits it", () => {
const decision = decideGhostSuggestion("docker ps -a", "doc", "docker compose ls");
assert.deepEqual(decision, { type: "keep" });
});
test("switches to a new suggestion once the active one no longer matches", () => {
const decision = decideGhostSuggestion("docker ps -a", "dog", "dogstatsd");
assert.deepEqual(decision, { type: "show", suggestion: "dogstatsd" });
});
test("hides the ghost when neither the active nor next suggestion matches", () => {
const decision = decideGhostSuggestion("docker ps -a", "dog", null);
assert.deepEqual(decision, { type: "hide" });
});