Initial commit: demo todo CLI with Claude Code setup

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
christianandClaude Opus 5.5 committed 2026-10-20 23:49:20 +02:00
commit 3cec32b9e6
10 files changed
+193

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
import { test } from "node:test";
import assert from "node:assert/strict";
import { add, complete, remove, format } from "../src/todo.js";
test("add appends an open todo", () => {
const todos = add([], "buy milk");
assert.deepEqual(todos, [{ id: 1, text: "buy milk", done: false }]);
});
test("complete marks only the matching todo", () => {
const todos = complete(add(add([], "a"), "b"), 2);
assert.equal(todos[0].done, false);
assert.equal(todos[1].done, true);
});
test("remove drops the matching todo", () => {
const todos = remove(add(add([], "a"), "b"), 1);
assert.deepEqual(todos.map((t) => t.text), ["b"]);
});
test("format renders an empty list", () => {
assert.equal(format([]), "Nothing to do.");
});