elements_test.go

 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}