lipgloss/renderer_test.go
Ayman Bagabas b9c2626fe7 feat(renderer): use style renderer
lipgloss.Style now takes a renderer instance to be used to detect styles
and colors based on its termenv.Output and terminal
2023-02-09 11:59:54 -05:00

34 lines
760 B
Go

package lipgloss
import (
"os"
"testing"
"github.com/muesli/termenv"
)
func TestRendererHasDarkBackground(t *testing.T) {
r1 := NewRenderer(WithDarkBackground(false))
if r1.HasDarkBackground() {
t.Error("Expected renderer to have light background")
}
r2 := NewRenderer(WithDarkBackground(true))
if !r2.HasDarkBackground() {
t.Error("Expected renderer to have dark background")
}
}
func TestRendererWithOutput(t *testing.T) {
f, err := os.Create(t.Name())
if err != nil {
t.Fatal(err)
}
defer f.Close()
defer os.Remove(f.Name())
output := termenv.NewOutput(f, termenv.WithProfile(termenv.TrueColor))
r := NewRenderer(WithOutput(output))
if r.output.Profile != termenv.TrueColor {
t.Error("Expected renderer to use true color")
}
}