X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/80e348724041a694002fc38f57e8868b9b9a2be9..c781f79f3c8cb9a7577ee1574d196988da2719b3:/terminal_test.go diff --git a/terminal_test.go b/terminal_test.go index 7b68edb..c93c46f 100644 --- a/terminal_test.go +++ b/terminal_test.go @@ -96,6 +96,7 @@ func TestTerminalEventsKeepMarkdownInNonterminalOutput(t *testing.T) { Kind: "work", Text: "[BlueBird]\n" + text, }) + require.Equal(t, text+"\n[BlueBird]\n"+text+"\n", out.String()) } @@ -112,6 +113,7 @@ func TestTerminalFileOutputKeepsMarkdown(t *testing.T) { Kind: "reply", Text: text, }) + require.Zero(t, terminalColumns(out)) contents, err := os.ReadFile(out.Name()) @@ -173,6 +175,7 @@ func TestTerminalStylesOnlyRepliesAndWork(t *testing.T) { Event{Kind: "busy"}, Event{Kind: "idle"}, ) + require.Equal(t, "[working]\n\x1b[1mfirst next\x1b[0m\n\x1b[1mlast\x1b[0m\n[BlueBird]\n\x1b[1mReport\x1b[0m\n"+ "[tool] **raw tool**\n[result] **raw result**\n[error] **raw error**\n**raw notice**\n[telegram] **raw input**\n"+ "[connected to **raw agent**]\n[BlueBird] started\n[working]\n[done]\n> ", out.String()) @@ -193,6 +196,7 @@ func TestTerminalZeroWidthUsesEightyAndReadsChanges(t *testing.T) { Kind: "reply", Text: strings.Repeat("a", 81), }) + require.Equal(t, strings.Repeat("a", 80)+"\na\n> ", out.String()) require.NoError(t, unix.IoctlSetWinsize(fd, unix.TIOCSWINSZ, &unix.Winsize{Col: 40})) require.Equal(t, 40, terminalColumns(&out)) @@ -241,6 +245,7 @@ func TestTerminalPromptsAfterIdleEventsAndClearsBeforeShownEvents(t *testing.T) Text: "Idle error", }, ) + require.Equal(t, "[connected to Example]\n> "+ "\r\x1b[2KIdle notice\n> "+ "\r\x1b[2K\x1b[1mIdle report\x1b[0m\n> "+ @@ -275,6 +280,7 @@ func TestTerminalNonterminalEventsHaveNoPromptOrClearCommands(t *testing.T) { Text: "Idle again", }, ) + require.Equal(t, "[connected to Example]\nIdle notice\n[working]\nBusy notice\n**Answer**\n[done]\nIdle again\n", out.String()) }