12345678910111213141516171819202122232425262728293031323334 |
- package door
- import (
- "strings"
- "testing"
- )
- func TestPanel(t *testing.T) {
- p := Panel{X: 5, Y: 7, Width: 10, Style: DOUBLE, Title: "Test"}
- p.Lines = append(p.Lines, Line{Text: "1234567890"})
- p.Lines = append(p.Lines, Line{Text: "abcdefghij"})
- expected := Goto(5, 7) + "╔Test══════╗" + Goto(5, 8) + "║1234567890║" + Goto(5, 9) + "║abcdefghij║" + Goto(5, 10) + "╚══════════╝"
- got := p.Output()
- es := strings.SplitAfter(expected, "5H")
- gs := strings.SplitAfter(got, "5H")
- for idx, exp := range es {
- g := gs[idx]
- if g != exp {
- t.Errorf("Panel expected %#v, got %#v", exp, g)
- }
- }
- p.TitleOffset = 3
- got = p.Output()
- gs = strings.SplitAfter(got, "5H")
- es[0] = "╔═══Test═══╗" + Goto(5, 8)
- if gs[1] != es[0] {
- t.Errorf("Panel TitleOffset=3 expected %#v, got %#v", es[0], gs[1])
- }
- }
|