package localdb import ( "path/filepath" "testing" ) func newModeDB(t *testing.T) *LocalDB { t.Helper() local, err := New(filepath.Join(t.TempDir(), "mode.db")) if err != nil { t.Fatalf("open localdb: %v", err) } t.Cleanup(func() { _ = local.Close() }) return local } func TestIndicatorMode(t *testing.T) { local := newModeDB(t) if got := local.GetIndicatorMode(); got != IndicatorModeColor { t.Fatalf("unset: got %q, want %q", got, IndicatorModeColor) } if err := local.SetIndicatorMode(IndicatorModeAccessible); err != nil { t.Fatalf("set accessible: %v", err) } if got := local.GetIndicatorMode(); got != IndicatorModeAccessible { t.Fatalf("after set accessible: got %q, want %q", got, IndicatorModeAccessible) } if err := local.SetIndicatorMode(IndicatorModeColor); err != nil { t.Fatalf("set color: %v", err) } if got := local.GetIndicatorMode(); got != IndicatorModeColor { t.Fatalf("after set color: got %q, want %q", got, IndicatorModeColor) } if err := local.SetIndicatorMode("rainbow"); err == nil { t.Fatal("expected error for invalid mode, got nil") } if got := local.GetIndicatorMode(); got != IndicatorModeColor { t.Fatalf("after rejected set: got %q, want %q", got, IndicatorModeColor) } }