mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-09-04 10:11:46 +03:00
feat(tui): make follow-up queue explicit
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import { afterEach, describe, expect, test } from "bun:test"
|
||||
import { createTestRenderer, type TestRendererSetup } from "@opentui/core/testing"
|
||||
|
||||
import { QueuePreview } from "./queue-preview"
|
||||
|
||||
describe("QueuePreview", () => {
|
||||
let setup: TestRendererSetup | undefined
|
||||
|
||||
afterEach(() => {
|
||||
if (setup && !setup.renderer.isDestroyed) setup.renderer.destroy()
|
||||
setup = undefined
|
||||
})
|
||||
|
||||
test("shows the latest follow-ups without becoming another card", async () => {
|
||||
setup = await createTestRenderer({ width: 64, height: 12, screenMode: "alternate-screen" })
|
||||
const preview = new QueuePreview(setup.renderer, {
|
||||
accent: "#EF8E30",
|
||||
muted: "#A1A1AA",
|
||||
faint: "#71717A",
|
||||
})
|
||||
setup.renderer.root.add(preview.root)
|
||||
|
||||
preview.update(["first\nline", "second", "third", "fourth"])
|
||||
await setup.renderOnce()
|
||||
const frame = setup.captureCharFrame()
|
||||
|
||||
expect(frame).toContain("Queued next 4")
|
||||
expect(frame).not.toContain("first line")
|
||||
expect(frame).toContain("↳ second")
|
||||
expect(frame).toContain("↳ fourth")
|
||||
|
||||
preview.update([])
|
||||
await setup.renderOnce()
|
||||
expect(setup.captureCharFrame()).not.toContain("Queued next")
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user