import { describe, expect, test } from "bun:test"
import {
CLEAR_TERMINAL_VIEW,
countTerminalLines,
eraseTerminalLines,
} from "@/cli/cmd/tui/terminal-screen"
describe("terminal-screen", () => {
test("countTerminalLines ignores a trailing newline", () => {
expect(countTerminalLines("a\nb\n")).toBe(2)
expect(countTerminalLines("")).toBe(0)
})
test("eraseTerminalLines clears each row and returns the cursor", () => {
expect(eraseTerminalLines(1)).toBe("\x1b[2K")
expect(eraseTerminalLines(3)).toBe("\x1b[2K\x1b[1B\x1b[2K\x1b[1B\x1b[2K\x1b[2A")
})
test("CLEAR_TERMINAL_VIEW clears the display", () => {
expect(CLEAR_TERMINAL_VIEW).toBe("\x1b[2J\x1b[H")
})
})