forked from tslocum/cview
56 lines
1.2 KiB
Go
56 lines
1.2 KiB
Go
package cview
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
const (
|
|
testBoxTitleA = "Hello, world!"
|
|
testBoxTitleB = "Goodnight, moon!"
|
|
)
|
|
|
|
func TestBox(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
// Initialize
|
|
|
|
b := NewBox()
|
|
if b.GetTitle() != "" {
|
|
t.Errorf("failed to initialize Box: incorrect initial state: expected blank title, got %s", b.GetTitle())
|
|
} else if b.border {
|
|
t.Errorf("failed to initialize Box: incorrect initial state: expected no border, got border")
|
|
}
|
|
|
|
// Set title
|
|
|
|
b.SetTitle(testBoxTitleA)
|
|
if b.GetTitle() != testBoxTitleA {
|
|
t.Errorf("failed to update Box: incorrect title: expected %s, got %s", testBoxTitleA, b.GetTitle())
|
|
}
|
|
|
|
b.SetTitle(testBoxTitleB)
|
|
if b.GetTitle() != testBoxTitleB {
|
|
t.Errorf("failed to update Box: incorrect title: expected %s, got %s", testBoxTitleB, b.GetTitle())
|
|
}
|
|
|
|
// Set border
|
|
|
|
b.SetBorder(true)
|
|
if !b.border {
|
|
t.Errorf("failed to update Box: incorrect state: expected border, got no border")
|
|
}
|
|
|
|
b.SetBorder(false)
|
|
if b.border {
|
|
t.Errorf("failed to update Box: incorrect state: expected no border, got border")
|
|
}
|
|
|
|
// Draw
|
|
|
|
app, err := newTestApp(b)
|
|
if err != nil {
|
|
t.Errorf("failed to initialize Application: %s", err)
|
|
}
|
|
|
|
b.Draw(app.screen)
|
|
}
|