go-blockchain/tui/keyhints_model_test.go

52 lines
1.2 KiB
Go
Raw Normal View History

// Copyright (c) 2017-2026 Lethean (https://lt.hn)
//
// Licensed under the European Union Public Licence (EUPL) version 1.2.
// SPDX-License-Identifier: EUPL-1.2
package tui
import (
"strings"
"testing"
)
func TestKeyHintsModel_View_Good_Default(t *testing.T) {
m := NewKeyHintsModel()
got := m.View(80, 1)
if !strings.Contains(got, "quit") {
t.Errorf("default View should contain \"quit\", got %q", got)
}
}
func TestKeyHintsModel_Update_Good_ViewChanged(t *testing.T) {
m := NewKeyHintsModel()
updated, cmd := m.Update(ViewChangedMsg{Hints: []string{"esc back", "enter view"}})
if cmd != nil {
t.Errorf("Update(ViewChangedMsg) should return nil cmd, got %v", cmd)
}
km, ok := updated.(*KeyHintsModel)
if !ok {
t.Fatalf("Update returned %T, want *KeyHintsModel", updated)
}
got := km.View(80, 1)
if !strings.Contains(got, "esc back") {
t.Errorf("View after ViewChangedMsg should contain \"esc back\", got %q", got)
}
if !strings.Contains(got, "enter view") {
t.Errorf("View after ViewChangedMsg should contain \"enter view\", got %q", got)
}
}
func TestKeyHintsModel_Init_Good(t *testing.T) {
m := NewKeyHintsModel()
cmd := m.Init()
if cmd != nil {
t.Errorf("Init() should return nil, got %v", cmd)
}
}