70 lines
1.8 KiB
Go
70 lines
1.8 KiB
Go
package utils_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"git.sapphic.engineer/roleypoly/v4/utils"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
const (
|
|
WCAGAAA float64 = 0.14285714285714285
|
|
WCAGAA float64 = 0.25
|
|
)
|
|
|
|
func TestIntToRgb(t *testing.T) {
|
|
r, g, b := utils.IntToRgb(0x123456)
|
|
assert.Equal(t, uint8(0x12), r, "red")
|
|
assert.Equal(t, uint8(0x34), g, "green")
|
|
assert.Equal(t, uint8(0x56), b, "blue")
|
|
}
|
|
|
|
func TestIsDarkColor(t *testing.T) {
|
|
isDark := utils.IsDarkColor(0, 0, 0)
|
|
assert.True(t, isDark)
|
|
|
|
isLight := utils.IsDarkColor(255, 255, 255)
|
|
assert.False(t, isLight)
|
|
|
|
isQuestionable := utils.IsDarkColor(0x88, 0x88, 0x88)
|
|
assert.False(t, isQuestionable)
|
|
|
|
isReallyQuestionable := utils.IsDarkColor(0x00, 0x88, 0x00)
|
|
assert.True(t, isReallyQuestionable)
|
|
}
|
|
|
|
func TestBrighten(t *testing.T) {
|
|
r, g, b := utils.Brighten(0, 0, 0, 0.1)
|
|
assert.Equal(t, uint8(0x19), r)
|
|
assert.Equal(t, uint8(0x19), g)
|
|
assert.Equal(t, uint8(0x19), b)
|
|
// assert.LessOrEqual(t, WCAGAA, utils.WCAGRatio(
|
|
// utils.Luminance(0, 0, 0),
|
|
// utils.Luminance(r, g, b),
|
|
// ))
|
|
|
|
r, g, b = utils.Brighten(0x88, 0x88, 0x88, -0.1)
|
|
assert.Equal(t, uint8(0x88-0x19-1), r)
|
|
assert.Equal(t, uint8(0x88-0x19-1), g)
|
|
assert.Equal(t, uint8(0x88-0x19-1), b)
|
|
// assert.LessOrEqual(t, WCAGAA, utils.WCAGRatio(
|
|
// utils.Luminance(0x88, 0x88, 0x88),
|
|
// utils.Luminance(r, g, b),
|
|
// ))
|
|
}
|
|
|
|
func TestRgbToString(t *testing.T) {
|
|
assert.Equal(t, "#acab69", utils.RgbToString(0xac, 0xab, 0x69))
|
|
}
|
|
|
|
func TestAltColor(t *testing.T) {
|
|
r, g, b := utils.AltColor(0xa2, 0xc2, 0x42)
|
|
assert.Equal(t, uint8(0x09), r, "red")
|
|
assert.Equal(t, uint8(0x29), g, "green")
|
|
assert.Equal(t, uint8(0x00), b, "blue")
|
|
|
|
r, g, b = utils.AltColor(0xa2, 0x15, 0x18)
|
|
assert.Equal(t, uint8(0xff), r, "red")
|
|
assert.Equal(t, uint8(0xed), g, "green")
|
|
assert.Equal(t, uint8(0xf0), b, "blue")
|
|
}
|