(t *testing.T)
| 75 | } |
| 76 | |
| 77 | func 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 | |
| 112 | func TestDrawResizeNeededAndClearLabels(t *testing.T) { |
| 113 | hm, err := New() |
nothing calls this directly
no test coverage detected