refactor: remove helpers the new output and prompts left unused

Drop writeDownload, terminal.Require, terminal.Confirm, terminal.Row,
terminal.Record and Pulls.FindOpenByHead, which no command calls anymore,
and point their tests at the code that replaced them.

Signed-off-by: bircni <bircni@icloud.com>
This commit is contained in:
bircni committed 2026-10-12 10:00:05 +02:00
1 parent eff6efe759
commit 50a604f169
8 files changed
+34 -118

No files matched your search

-14
View File
@@ -19,7 +19,6 @@ import (
"gitea.dev/tea/internal/clierr"
"gitea.dev/tea/internal/terminal"
"github.com/spf13/cobra"
"golang.org/x/term"
)
// downloadFlags are the destination flags of a download command.
@@ -95,19 +94,6 @@ func (a *application) download(cmd *cobra.Command, f downloadFlags, path string,
})
}
func writeDownload(cmd *cobra.Command, body io.Reader, output string) error {
if output == "" || output == "-" {
return writeTerminalSafe(cmd.OutOrStdout(), isTerminal(cmd.OutOrStdout()), body)
}
return publish(cmd, output, false, false, func(destination io.Writer) error { _, err := io.Copy(destination, body); return err })
}
// isTerminal reports whether w is a terminal, for writers without injected stream capabilities.
func isTerminal(w io.Writer) bool {
file, ok := w.(*os.File)
return ok && term.IsTerminal(int(file.Fd()))
}
// binarySniffLength is how much of a download decides whether it is text.
const binarySniffLength = 8 << 10
+7 -4
View File
@@ -40,21 +40,24 @@ func TestDownloadsPublishOnlyCompleteFiles(t *testing.T) {
cmd.SetContext(context.Background())
var stdout bytes.Buffer
cmd.SetOut(&stdout)
require.NoError(t, writeDownload(cmd, bytes.NewBufferString("archive"), "-"))
copyBody := func(body io.Reader) func(io.Writer) error {
return func(destination io.Writer) error { _, err := io.Copy(destination, body); return err }
}
require.NoError(t, writeTerminalSafe(cmd.OutOrStdout(), false, bytes.NewBufferString("archive")))
require.Equal(t, "archive", stdout.String())
directory := t.TempDir()
output := filepath.Join(directory, "logs.zip")
require.ErrorIs(t, writeDownload(cmd, failingDownload{}, output), io.ErrUnexpectedEOF)
require.ErrorIs(t, publish(cmd, output, false, false, copyBody(failingDownload{})), io.ErrUnexpectedEOF)
_, err := os.Stat(output)
require.True(t, errors.Is(err, os.ErrNotExist))
entries, err := os.ReadDir(directory)
require.NoError(t, err)
require.Empty(t, entries)
require.NoError(t, writeDownload(cmd, bytes.NewBufferString("archive"), output))
require.NoError(t, publish(cmd, output, false, false, copyBody(bytes.NewBufferString("archive"))))
info, err := os.Stat(output)
require.NoError(t, err)
require.Equal(t, umaskMode(t), info.Mode().Perm(), "downloads are not private files")
require.ErrorContains(t, writeDownload(cmd, bytes.NewBufferString("replacement"), output), "already exists")
require.ErrorContains(t, publish(cmd, output, false, false, copyBody(bytes.NewBufferString("replacement"))), "already exists")
data, err := os.ReadFile(output)
require.NoError(t, err)
require.Equal(t, "archive", string(data))