catch mid colors outside of WCAG AA

This commit is contained in:
41666 2025-04-06 17:28:26 -07:00
parent f72c7a357b
commit df33164b08
28 changed files with 135 additions and 96 deletions

View file

@ -8,8 +8,7 @@ import (
)
const (
WCAGAAA float64 = 0.14285714285714285
WCAGAA float64 = 0.25
WCAGAA float64 = 3
)
func TestIntToRgb(t *testing.T) {
@ -19,38 +18,20 @@ func TestIntToRgb(t *testing.T) {
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),
// ))
assert.GreaterOrEqual(t, utils.WCAGRatio(
utils.Luminance(0x88, 0x88, 0x88),
utils.Luminance(r, g, b),
), WCAGAA)
}
func TestRgbToString(t *testing.T) {
@ -59,12 +40,21 @@ func TestRgbToString(t *testing.T) {
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")
assert.Equal(t, uint8(0xf2), r, "red")
assert.Equal(t, uint8(0xef), g, "green")
assert.Equal(t, uint8(0xef), b, "blue")
assert.GreaterOrEqual(t, utils.WCAGRatio(
utils.Luminance(0xa2, 0xc2, 0x42),
utils.Luminance(r, g, b),
), WCAGAA)
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")
assert.Equal(t, uint8(0xff), r, "red2")
assert.Equal(t, uint8(0xed), g, "green2")
assert.Equal(t, uint8(0xf0), b, "blue2")
assert.GreaterOrEqual(t, utils.WCAGRatio(
utils.Luminance(0xa2, 0x15, 0x18),
utils.Luminance(r, g, b),
), WCAGAA)
}