mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-15 02:01:43 +03:00
text: fix a wrapping bug leading to line longer than they should
This commit is contained in:
parent
f9fc85ac82
commit
261aa61711
@ -241,7 +241,7 @@ func (sb *showBug) renderMain(g *gocui.Gui, mainView *gocui.View) error {
|
||||
|
||||
case *bug.CreateTimelineItem:
|
||||
create := op.(*bug.CreateTimelineItem)
|
||||
content, lines := text.WrapLeftPadded(create.Message, maxX, 4)
|
||||
content, lines := text.WrapLeftPadded(create.Message, maxX-1, 4)
|
||||
|
||||
v, err := sb.createOpView(g, viewName, x0, y0, maxX+1, lines, true)
|
||||
if err != nil {
|
||||
@ -258,7 +258,7 @@ func (sb *showBug) renderMain(g *gocui.Gui, mainView *gocui.View) error {
|
||||
edited = " (edited)"
|
||||
}
|
||||
|
||||
message, _ := text.WrapLeftPadded(comment.Message, maxX, 4)
|
||||
message, _ := text.WrapLeftPadded(comment.Message, maxX-1, 4)
|
||||
content := fmt.Sprintf("%s commented on %s%s\n\n%s",
|
||||
colors.Magenta(comment.Author.DisplayName()),
|
||||
comment.CreatedAt.Time().Format(timeLayout),
|
||||
|
@ -84,7 +84,7 @@ func WrapLeftPadded(text string, lineWidth int, leftPad int) (string, int) {
|
||||
lineBuffer.Reset()
|
||||
lineBuffer.WriteString(word)
|
||||
firstWord = false
|
||||
spaceLeft = lineWidth - wordLength
|
||||
spaceLeft = lineWidth - leftPad - wordLength
|
||||
nbLine++
|
||||
}
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ func TestWrap(t *testing.T) {
|
||||
for i, tc := range cases {
|
||||
actual, lines := Wrap(tc.Input, tc.Lim)
|
||||
if actual != tc.Output {
|
||||
t.Fatalf("Case %d Input:\n\n`%s`\n\nExpected Output:\n\n`%s`\n\nActual Output:\n\n`%s`",
|
||||
t.Fatalf("Case %d Input:\n\n`%s`\n\nExpected Output:\n\n`%s`\n\nActual Output:\n`\n%s`",
|
||||
i, tc.Input, tc.Output, actual)
|
||||
}
|
||||
|
||||
@ -118,6 +118,38 @@ func TestWrap(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestWrapLeftPadded(t *testing.T) {
|
||||
cases := []struct {
|
||||
input, output string
|
||||
lim, pad int
|
||||
}{
|
||||
{
|
||||
"The Lorem ipsum text is typically composed of pseudo-Latin words. It is commonly used as placeholder text to examine or demonstrate the visual effects of various graphic design.",
|
||||
` The Lorem ipsum text is typically composed of
|
||||
pseudo-Latin words. It is commonly used as placeholder
|
||||
text to examine or demonstrate the visual effects of
|
||||
various graphic design.`,
|
||||
59, 4,
|
||||
},
|
||||
}
|
||||
|
||||
for i, tc := range cases {
|
||||
actual, lines := WrapLeftPadded(tc.input, tc.lim, tc.pad)
|
||||
if actual != tc.output {
|
||||
t.Fatalf("Case %d Input:\n\n`%s`\n\nExpected Output:\n`\n%s`\n\nActual Output:\n`\n%s\n%s`",
|
||||
i, tc.input, tc.output,
|
||||
"|"+strings.Repeat("-", tc.lim-2)+"|",
|
||||
actual)
|
||||
}
|
||||
|
||||
expected := len(strings.Split(tc.output, "\n"))
|
||||
if expected != lines {
|
||||
t.Fatalf("Case %d Nb lines mismatch\nExpected:%d\nActual:%d",
|
||||
i, expected, lines)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestWordLen(t *testing.T) {
|
||||
cases := []struct {
|
||||
Input string
|
||||
|
Loading…
Reference in New Issue
Block a user