1
0
mirror of https://github.com/fatih/color.git synced 2024-11-24 08:02:14 +02:00
color/color_test.go

88 lines
1.8 KiB
Go
Raw Normal View History

2014-02-17 12:12:32 +03:00
package color
import (
2014-02-18 10:25:12 +03:00
"bytes"
2014-02-17 12:12:32 +03:00
"fmt"
2014-02-18 10:25:12 +03:00
"os"
2014-02-17 12:12:32 +03:00
"testing"
)
func TestColor(t *testing.T) {
2014-02-18 10:25:12 +03:00
rb := new(bytes.Buffer)
Output = rb
testColors := []struct {
text string
code Parameter
}{
{text: "black", code: FgBlack},
{text: "red", code: FgRed},
{text: "green", code: FgGreen},
{text: "yellow", code: FgYellow},
{text: "blue", code: FgBlue},
{text: "magent", code: FgMagenta},
{text: "cyan", code: FgCyan},
{text: "white", code: FgWhite},
}
for _, c := range testColors {
New(c.code).Print(c.text)
line, _ := rb.ReadString('\n')
scannedLine := fmt.Sprintf("%q", line)
colored := fmt.Sprintf("\x1b[%dm%s\x1b[0m", c.code, c.text)
escapedForm := fmt.Sprintf("%q", colored)
fmt.Printf("%s\t: %s\n", c.text, line)
if scannedLine != escapedForm {
t.Errorf("Expecting %s, got '%s'\n", escapedForm, scannedLine)
}
}
// Visual Test
fmt.Println("")
Output = os.Stdout
2014-02-17 13:18:54 +03:00
New(FgRed).Printf("red\t")
New(BgRed).Print(" ")
New(FgRed, Bold).Println(" red")
New(FgGreen).Printf("green\t")
New(BgGreen).Print(" ")
New(FgGreen, Bold).Println(" green")
New(FgYellow).Printf("yellow\t")
New(BgYellow).Print(" ")
New(FgYellow, Bold).Println(" yellow")
New(FgBlue).Printf("blue\t")
New(BgBlue).Print(" ")
New(FgBlue, Bold).Println(" blue")
New(FgMagenta).Printf("magenta\t")
New(BgMagenta).Print(" ")
New(FgMagenta, Bold).Println(" magenta")
New(FgCyan).Printf("cyan\t")
New(BgCyan).Print(" ")
New(FgCyan, Bold).Println(" cyan")
New(FgWhite).Printf("white\t")
New(BgWhite).Print(" ")
New(FgWhite, Bold).Println(" white")
2014-02-17 12:58:08 +03:00
fmt.Println("")
2014-02-18 10:39:09 +03:00
// Second Visual test
2014-02-18 10:46:20 +03:00
Black("black")
2014-02-18 10:39:09 +03:00
Red("red")
2014-02-18 10:46:20 +03:00
Green("green")
Yellow("yellow")
Blue("blue")
Magenta("magenta")
Cyan("cyan")
White("white")
2014-02-17 12:12:32 +03:00
}