| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- // Copyright 2023 The Gitea Authors. All rights reserved.
- // SPDX-License-Identifier: MIT
- package util
-
- import (
- "testing"
-
- "github.com/stretchr/testify/assert"
- )
-
- func Test_HexToRBGColor(t *testing.T) {
- cases := []struct {
- colorString string
- expectedR float64
- expectedG float64
- expectedB float64
- }{
- {"2b8685", 43, 134, 133},
- {"1e1", 17, 238, 17},
- {"#1e1", 17, 238, 17},
- {"1e16", 17, 238, 17},
- {"3bb6b3", 59, 182, 179},
- {"#3bb6b399", 59, 182, 179},
- {"#0", 0, 0, 0},
- {"#00000", 0, 0, 0},
- {"#1234567", 0, 0, 0},
- }
- for n, c := range cases {
- r, g, b := HexToRBGColor(c.colorString)
- assert.InDelta(t, c.expectedR, r, 0, "case %d: error R should match: expected %f, but get %f", n, c.expectedR, r)
- assert.InDelta(t, c.expectedG, g, 0, "case %d: error G should match: expected %f, but get %f", n, c.expectedG, g)
- assert.InDelta(t, c.expectedB, b, 0, "case %d: error B should match: expected %f, but get %f", n, c.expectedB, b)
- }
- }
-
- func Test_UseLightText(t *testing.T) {
- cases := []struct {
- color string
- expected string
- }{
- {"#d73a4a", "#fff"},
- {"#0075ca", "#fff"},
- {"#cfd3d7", "#000"},
- {"#a2eeef", "#000"},
- {"#7057ff", "#fff"},
- {"#008672", "#fff"},
- {"#e4e669", "#000"},
- {"#d876e3", "#000"},
- {"#ffffff", "#000"},
- {"#2b8684", "#fff"},
- {"#2b8786", "#fff"},
- {"#2c8786", "#000"},
- {"#3bb6b3", "#000"},
- {"#7c7268", "#fff"},
- {"#7e716c", "#fff"},
- {"#81706d", "#fff"},
- {"#807070", "#fff"},
- {"#84b6eb", "#000"},
- }
- for n, c := range cases {
- assert.Equal(t, c.expected, ContrastColor(c.color), "case %d: error should match", n)
- }
- }
|