Merge pull request #126533 from ah8ad3/kubectl-explain-wrap

Realign line breaks in kubectl explain wrap method
This commit is contained in:
Kubernetes Prow Robot 2024-11-05 17:31:29 +00:00 committed by GitHub
commit 602c70b65d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 0 deletions

View File

@ -56,6 +56,9 @@ func WithBuiltinTemplateFuncs(tmpl *template.Template) *template.Template {
return "", errors.New(message)
},
"wrap": func(l int, s string) (string, error) {
// realign all line breaks
s = strings.ReplaceAll(s, "\n", "")
buf := bytes.NewBuffer(nil)
writer := term.NewWordWrapWriter(buf, uint(l))
_, err := writer.Write([]byte(s))

View File

@ -56,6 +56,13 @@ func TestFuncs(t *testing.T) {
Context: "this/is/a/slash/separated/thing",
Expect: "[this is a slash separated thing]",
},
{
Name: "realign line breaks",
FuncName: "wrap",
Source: `{{wrap 76 .}}`,
Context: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pulvinar in libero id sagittis. \nAliquam sem enim, vehicula et urna ac, vehicula ullamcorper sem. Morbi turpis arcu, aliquet at \neros quis, sodales dignissim eros. \nQuisque ut lectus quis magna maximus elementum a nec felis. \nNulla ultricies pulvinar quam, id tincidunt.",
Expect: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pulvinar in\nlibero id sagittis. Aliquam sem enim, vehicula et urna ac, vehicula\nullamcorper sem. Morbi turpis arcu, aliquet at eros quis, sodales dignissim\neros. Quisque ut lectus quis magna maximus elementum a nec felis. Nulla\nultricies pulvinar quam, id tincidunt.",
},
{
Name: "basic",
FuncName: "join",