gitech

Форк
0
/
color_test.go 
63 строки · 1.6 Кб
1
// Copyright 2023 The Gitea Authors. All rights reserved.
2
// SPDX-License-Identifier: MIT
3
package util
4

5
import (
6
	"testing"
7

8
	"github.com/stretchr/testify/assert"
9
)
10

11
func Test_HexToRBGColor(t *testing.T) {
12
	cases := []struct {
13
		colorString string
14
		expectedR   float64
15
		expectedG   float64
16
		expectedB   float64
17
	}{
18
		{"2b8685", 43, 134, 133},
19
		{"1e1", 17, 238, 17},
20
		{"#1e1", 17, 238, 17},
21
		{"1e16", 17, 238, 17},
22
		{"3bb6b3", 59, 182, 179},
23
		{"#3bb6b399", 59, 182, 179},
24
		{"#0", 0, 0, 0},
25
		{"#00000", 0, 0, 0},
26
		{"#1234567", 0, 0, 0},
27
	}
28
	for n, c := range cases {
29
		r, g, b := HexToRBGColor(c.colorString)
30
		assert.Equal(t, c.expectedR, r, "case %d: error R should match: expected %f, but get %f", n, c.expectedR, r)
31
		assert.Equal(t, c.expectedG, g, "case %d: error G should match: expected %f, but get %f", n, c.expectedG, g)
32
		assert.Equal(t, c.expectedB, b, "case %d: error B should match: expected %f, but get %f", n, c.expectedB, b)
33
	}
34
}
35

36
func Test_UseLightText(t *testing.T) {
37
	cases := []struct {
38
		color    string
39
		expected string
40
	}{
41
		{"#d73a4a", "#fff"},
42
		{"#0075ca", "#fff"},
43
		{"#cfd3d7", "#000"},
44
		{"#a2eeef", "#000"},
45
		{"#7057ff", "#fff"},
46
		{"#008672", "#fff"},
47
		{"#e4e669", "#000"},
48
		{"#d876e3", "#000"},
49
		{"#ffffff", "#000"},
50
		{"#2b8684", "#fff"},
51
		{"#2b8786", "#fff"},
52
		{"#2c8786", "#000"},
53
		{"#3bb6b3", "#000"},
54
		{"#7c7268", "#fff"},
55
		{"#7e716c", "#fff"},
56
		{"#81706d", "#fff"},
57
		{"#807070", "#fff"},
58
		{"#84b6eb", "#000"},
59
	}
60
	for n, c := range cases {
61
		assert.Equal(t, c.expected, ContrastColor(c.color), "case %d: error should match", n)
62
	}
63
}
64

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.