]> git.giacomolli.uk - onechat/blobdiff - terminal_test.go
Separate multiline Go statements
[onechat] / terminal_test.go
index 7b68edb4ed389ceb09355c40c02b85d3d62a5376..c93c46f84644e05a39b7ad424b68fecfeba7a1ac 100644 (file)
@@ -96,6 +96,7 @@ func TestTerminalEventsKeepMarkdownInNonterminalOutput(t *testing.T) {
                Kind: "work",
                Text: "[BlueBird]\n" + text,
        })
                Kind: "work",
                Text: "[BlueBird]\n" + text,
        })
+
        require.Equal(t, text+"\n[BlueBird]\n"+text+"\n", out.String())
 }
 
        require.Equal(t, text+"\n[BlueBird]\n"+text+"\n", out.String())
 }
 
@@ -112,6 +113,7 @@ func TestTerminalFileOutputKeepsMarkdown(t *testing.T) {
                Kind: "reply",
                Text: text,
        })
                Kind: "reply",
                Text: text,
        })
+
        require.Zero(t, terminalColumns(out))
 
        contents, err := os.ReadFile(out.Name())
        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"},
        )
                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())
        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),
        })
                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))
        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",
                },
        )
                        Text: "Idle error",
                },
        )
+
        require.Equal(t, "[connected to Example]\n> "+
                "\r\x1b[2KIdle notice\n> "+
                "\r\x1b[2K\x1b[1mIdle report\x1b[0m\n> "+
        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",
                },
        )
                        Text: "Idle again",
                },
        )
+
        require.Equal(t, "[connected to Example]\nIdle notice\n[working]\nBusy notice\n**Answer**\n[done]\nIdle again\n", out.String())
 }
 
        require.Equal(t, "[connected to Example]\nIdle notice\n[working]\nBusy notice\n**Answer**\n[done]\nIdle again\n", out.String())
 }