MCPcopy
hub / github.com/mum4k/termdash / TestDrawRendersLabelsAndCells

Function TestDrawRendersLabelsAndCells

widgets/heatmap/heatmap_test.go:77–110  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

75}
76
77func TestDrawRendersLabelsAndCells(t *testing.T) {
78 hm, err := New(CellWidth(2), XLabelCellOpts(cell.FgColor(cell.ColorGreen)), YLabelCellOpts(cell.FgColor(cell.ColorYellow)))
79 if err != nil {
80 t.Fatalf("New => unexpected error: %v", err)
81 }
82 if err := hm.Values([]string{"A", "B"}, []string{"LOW", "HIGH"}, [][]float64{{1, 4}, {7, 10}}); err != nil {
83 t.Fatalf("Values => unexpected error: %v", err)
84 }
85
86 ft := faketerm.MustNew(image.Point{X: 12, Y: 4})
87 cvs := testcanvas.MustNew(ft.Area())
88 if err := hm.Draw(cvs, &widgetapi.Meta{}); err != nil {
89 t.Fatalf("Draw => unexpected error: %v", err)
90 }
91 testcanvas.MustApply(cvs, ft)
92
93 rendered := ft.String()
94 if !strings.Contains(rendered, "LOW") || !strings.Contains(rendered, "HIGH") {
95 t.Fatalf("Draw output missing Y labels: %q", rendered)
96 }
97 if !strings.Contains(rendered, "A") || !strings.Contains(rendered, "B") {
98 t.Fatalf("Draw output missing X labels: %q", rendered)
99 }
100
101 buffer := ft.BackBuffer()
102 left := buffer[4][0].Opts.BgColor
103 right := buffer[6][1].Opts.BgColor
104 if left == right {
105 t.Fatalf("cell colors = %v and %v, want different shades", left, right)
106 }
107 if got, want := hm.ValueCapacity(), 9; got != want {
108 t.Fatalf("ValueCapacity = %d, want %d", got, want)
109 }
110}
111
112func TestDrawResizeNeededAndClearLabels(t *testing.T) {
113 hm, err := New()

Callers

nothing calls this directly

Calls 14

FgColorFunction · 0.92
MustNewFunction · 0.92
MustNewFunction · 0.92
MustApplyFunction · 0.92
CellWidthFunction · 0.85
BackBufferMethod · 0.80
NewFunction · 0.70
XLabelCellOptsFunction · 0.70
YLabelCellOptsFunction · 0.70
DrawMethod · 0.65
ValuesMethod · 0.45
AreaMethod · 0.45

Tested by

no test coverage detected