Commit | Line | Data |
---|---|---|
49f42e3c CW |
1 | <?php |
2 | ||
3 | /** | |
4 | * Class CRM_Utils_ColorTest | |
5 | * @group headless | |
6 | */ | |
7 | class CRM_Utils_ColorTest extends CiviUnitTestCase { | |
8 | ||
9 | /** | |
10 | * @dataProvider contrastExamples | |
11 | */ | |
12 | public function testGetContrast($background, $text) { | |
13 | $this->assertEquals($text, CRM_Utils_Color::getContrast($background)); | |
14 | } | |
15 | ||
16 | public function contrastExamples() { | |
dfc29fbb CW |
17 | return [ |
18 | ['ef4444', 'white'], | |
19 | ['FAA31B', 'black'], | |
20 | ['FFF000', 'black'], | |
21 | [' 82c341', 'black'], | |
22 | ['#009F75', 'white'], | |
23 | ['#88C6eD', 'black'], | |
24 | ['# 394ba0', 'white'], | |
25 | [' #D54799', 'white'], | |
26 | ]; | |
27 | } | |
28 | ||
29 | /** | |
30 | * @dataProvider rgbExamples | |
31 | */ | |
0f4485f5 CW |
32 | public function testGetRgb($color, $expectedRGB, $expectedHex) { |
33 | $rgb = CRM_Utils_Color::getRgb($color); | |
34 | $this->assertEquals($expectedRGB, $rgb); | |
35 | $this->assertEquals($expectedHex, CRM_Utils_Color::rgbToHex($rgb)); | |
dfc29fbb CW |
36 | } |
37 | ||
38 | public function rgbExamples() { | |
39 | return [ | |
0f4485f5 CW |
40 | ['#fff', [255, 255, 255], '#ffffff'], |
41 | ['white', [255, 255, 255], '#ffffff'], | |
42 | ['#000000', [0, 0, 0], '#000000'], | |
43 | [' black', [0, 0, 0], '#000000'], | |
44 | [' #111 ', [17, 17, 17], '#111111'], | |
45 | [' fffc99 ', [255, 252, 153], '#fffc99'], | |
46 | ['blue', [0, 0, 255], '#0000ff'], | |
47 | ['Green', [0, 128, 0], '#008000'], | |
48 | ['rgb(12, 0, 123)', [12, 0, 123], '#0c007b'], | |
49 | [' rgb ( 123, 0, 12 ) !important', [123, 0, 12], '#7b000c'], | |
dfc29fbb | 50 | ]; |
49f42e3c CW |
51 | } |
52 | ||
53 | } |