1package common
2
3import (
4 "testing"
5
6 "github.com/charmbracelet/crush/internal/ui/styles"
7 "github.com/charmbracelet/x/ansi"
8 "github.com/stretchr/testify/require"
9)
10
11func TestFormatTokensAndCostPrefixesEstimatedUsage(t *testing.T) {
12 t.Parallel()
13
14 sty := styles.CharmtonePantera()
15
16 actual := ansi.Strip(formatTokensAndCost(&sty, 120, 1000, 0, true))
17
18 require.Contains(t, actual, "~12%")
19 require.Contains(t, actual, "(120)")
20 require.Contains(t, actual, "$0.00")
21}
22
23func TestFormatTokensAndCostOmitsEstimatedPrefix(t *testing.T) {
24 t.Parallel()
25
26 sty := styles.CharmtonePantera()
27
28 actual := ansi.Strip(formatTokensAndCost(&sty, 120, 1000, 0, false))
29
30 require.Contains(t, actual, "12%")
31 require.NotContains(t, actual, "~12%")
32}