56 lines
1.3 KiB
Go
56 lines
1.3 KiB
Go
package cview
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
const (
|
|
testCheckBoxLabelA = "Hello, world!"
|
|
testCheckBoxLabelB = "Goodnight, moon!"
|
|
)
|
|
|
|
func TestCheckBox(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
// Initialize
|
|
|
|
c := NewCheckBox()
|
|
if c.IsChecked() {
|
|
t.Errorf("failed to initialize CheckBox: incorrect initial state: expected unchecked, got checked")
|
|
} else if c.GetLabel() != "" {
|
|
t.Errorf("failed to initialize CheckBox: incorrect label: expected '', got %s", c.GetLabel())
|
|
}
|
|
|
|
// Set label
|
|
|
|
c.SetLabel(testCheckBoxLabelA)
|
|
if c.GetLabel() != testCheckBoxLabelA {
|
|
t.Errorf("failed to set CheckBox label: incorrect label: expected %s, got %s", testCheckBoxLabelA, c.GetLabel())
|
|
}
|
|
|
|
c.SetLabel(testCheckBoxLabelB)
|
|
if c.GetLabel() != testCheckBoxLabelB {
|
|
t.Errorf("failed to set CheckBox label: incorrect label: expected %s, got %s", testCheckBoxLabelB, c.GetLabel())
|
|
}
|
|
|
|
// Set checked
|
|
|
|
c.SetChecked(true)
|
|
if !c.IsChecked() {
|
|
t.Errorf("failed to update CheckBox state: incorrect state: expected checked, got unchecked")
|
|
}
|
|
|
|
c.SetChecked(false)
|
|
if c.IsChecked() {
|
|
t.Errorf("failed to update CheckBox state: incorrect state: expected unchecked, got checked")
|
|
}
|
|
|
|
// Draw
|
|
|
|
app, err := newTestApp(c)
|
|
if err != nil {
|
|
t.Errorf("failed to initialize Application: %s", err)
|
|
}
|
|
|
|
c.Draw(app.screen)
|
|
}
|