-
Notifications
You must be signed in to change notification settings - Fork 78
/
Copy pathStyleTest.php
61 lines (47 loc) · 2.26 KB
/
StyleTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
/**
* Created by PhpStorm.
* User: Fabien
* Date: 13/04/14
* Time: 17:42
*/
namespace Svg\Tests;
use Svg\Style;
use PHPUnit\Framework\TestCase;
class StyleTest extends TestCase
{
public function test_parseColor()
{
$this->assertEquals("none", Style::parseColor("none"));
$this->assertEquals("currentcolor", Style::parseColor("currentcolor"));
$this->assertEquals(array(0.0, 0.0, 0.0, 0.0), Style::parseColor("transparent"));
$this->assertEquals(array(255.0, 0.0, 0.0, 1.0), Style::parseColor("RED"));
$this->assertEquals(array(0.0, 0.0, 255.0, 1.0), Style::parseColor("blue"));
$this->assertEquals(array(0.0, 0.0, 0.0, 1.0), Style::parseColor("black"));
$this->assertEquals(array(255.0, 255.0, 255.0, 1.0), Style::parseColor("white"));
$this->assertEquals(null, Style::parseColor("foo"));
$this->assertEquals(array(0.0, 0.0, 0.0, 1.0), Style::parseColor("#000000"));
$this->assertEquals(array(255.0, 255.0, 255.0, 1.0), Style::parseColor("#ffffff"));
$this->assertEquals(array(0.0, 0.0, 0.0, .5), Style::parseColor("#00000080"));
$this->assertEquals(array(0.0, 0.0, 0.0, 1.0), Style::parseColor("rgb(0,0,0)"));
$this->assertEquals(array(255.0, 255.0, 255.0, 1.0), Style::parseColor("rgb(255,255,255)"));
$this->assertEquals(array(0.0, 0.0, 0.0, 1.0), Style::parseColor("rgb(0, 0, 0)"));
$this->assertEquals(array(255.0, 255.0, 255.0, 1.0), Style::parseColor("rgb(255, 255, 255)"));
$this->assertEquals(array(255.0, 255.0, 255.0, .5), Style::parseColor("rgb(255, 255, 255, .5)"));
$this->assertEquals(array(255.0, 0.0, 0.0, 1.0), Style::parseColor("hsl(0, 100%, 50%)"));
$this->assertEquals(array(255.0, 0.0, 0.0, .5), Style::parseColor("hsl(0, 100%, 50%, .5)"));
}
public function test_fromAttributes()
{
$style = new Style();
$attributes = array(
"color" => "blue",
"fill" => "#fff",
"stroke" => "none",
);
$style->fromAttributes($attributes);
$this->assertEquals(array(0.0, 0.0, 255.0, 1.0), $style->color);
$this->assertEquals(array(255.0, 255.0, 255.0, 1.0), $style->fill);
$this->assertEquals("none", $style->stroke);
}
}