File: palette_test.go

package info (click to toggle)
golang-github-charmbracelet-x 0.0~git20251028.0cf22f8%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,940 kB
  • sloc: sh: 124; makefile: 5
file content (41 lines) | stat: -rw-r--r-- 1,393 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package ansi

import (
	"image/color"
	"testing"
)

func TestSetPalette(t *testing.T) {
	cases := []struct {
		index int
		color color.Color
		want  string
	}{
		{-1, color.RGBA{255, 0, 0, 255}, ""},
		{0, nil, ""},
		{0, color.RGBA{255, 0, 0, 255}, "\x1b]P0ff0000\x07"},
		{1, color.RGBA{0, 255, 0, 255}, "\x1b]P100ff00\x07"},
		{2, color.RGBA{0, 0, 255, 255}, "\x1b]P20000ff\x07"},
		{3, color.RGBA{255, 255, 0, 255}, "\x1b]P3ffff00\x07"},
		{4, color.RGBA{255, 0, 255, 255}, "\x1b]P4ff00ff\x07"},
		{5, color.RGBA{0, 255, 255, 255}, "\x1b]P500ffff\x07"},
		{6, color.RGBA{192, 192, 192, 255}, "\x1b]P6c0c0c0\x07"},
		{7, color.RGBA{128, 128, 128, 255}, "\x1b]P7808080\x07"},
		{8, color.RGBA{255, 128, 128, 255}, "\x1b]P8ff8080\x07"},
		{9, color.RGBA{128, 255, 128, 255}, "\x1b]P980ff80\x07"},
		{10, color.RGBA{128, 128, 255, 255}, "\x1b]Pa8080ff\x07"},
		{11, color.RGBA{255, 255, 128, 255}, "\x1b]Pbffff80\x07"},
		{12, color.RGBA{255, 128, 255, 255}, "\x1b]Pcff80ff\x07"},
		{13, color.RGBA{128, 255, 255, 255}, "\x1b]Pd80ffff\x07"},
		{14, color.RGBA{192, 192, 192, 255}, "\x1b]Pec0c0c0\x07"},
		{15, color.RGBA{0, 0, 0, 255}, "\x1b]Pf000000\x07"},
		{16, color.RGBA{255, 0, 0, 255}, ""},
		{256, nil, ""},
	}
	for _, c := range cases {
		got := SetPalette(c.index, c.color)
		if got != c.want {
			t.Errorf("SetPalette(%d, %v) = %q; want %q", c.index, c.color, got, c.want)
		}
	}
}