diff --git a/internal/calc/calc_test.go b/internal/calc/calc_test.go index 9f0d86a..2821973 100644 --- a/internal/calc/calc_test.go +++ b/internal/calc/calc_test.go @@ -2,7 +2,6 @@ package calc import ( "errors" - "strings" "testing" ) @@ -240,8 +239,11 @@ func TestNegativeInBases(t *testing.T) { func TestFormatLargeAndScientific(t *testing.T) { e := NewEngine() e.accumulator = 1e15 - if got := e.FormatForDisplay(); !strings.Contains(got, "e") && !strings.Contains(got, "E") { - // may or not, but check no panic + got := e.FormatForDisplay() + // Large values may or may not use scientific notation (depending on FormatForDisplay + // rules and current base); the primary purpose of this test is to ensure no panic. + if got == "" { + t.Error("FormatForDisplay returned empty for large accumulator value") } } diff --git a/internal/ui/ui.go b/internal/ui/ui.go index 36cc06b..d9c18fd 100644 --- a/internal/ui/ui.go +++ b/internal/ui/ui.go @@ -230,11 +230,11 @@ func (a *App) View() string { Align(lipgloss.Center) // Specialized key styles for visual grouping (like real calculators). - numKey := keyStyle.Copy() - opKey := keyStyle.Copy().Foreground(lipgloss.Color("63")).Background(lipgloss.Color("235")) - clearKey := keyStyle.Copy().Foreground(lipgloss.Color("203")).Background(lipgloss.Color("52")) - modKey := keyStyle.Copy().Foreground(lipgloss.Color("214")) // orange-ish for MOD - hexKey := keyStyle.Copy().Foreground(lipgloss.Color("214")).Background(lipgloss.Color("235")) // for A-F, only shown in HEX mode + numKey := keyStyle + opKey := keyStyle.Foreground(lipgloss.Color("63")).Background(lipgloss.Color("235")) + clearKey := keyStyle.Foreground(lipgloss.Color("203")).Background(lipgloss.Color("52")) + modKey := keyStyle.Foreground(lipgloss.Color("214")) // orange-ish for MOD + hexKey := keyStyle.Foreground(lipgloss.Color("214")).Background(lipgloss.Color("235")) // for A-F, only shown in HEX mode makeKey := func(label string) string { var st lipgloss.Style