Completed
Push — master ( 0a7932...aee286 )
by Maksim
13s
created

FilterConfigurationTest::testSetAndGetFilter()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 17
Code Lines 10

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 17
rs 9.4285
cc 1
eloc 10
nc 1
nop 0
1
<?php
2
3
namespace Liip\ImagineBundle\Tests\Filter;
4
5
use Liip\ImagineBundle\Imagine\Filter\FilterConfiguration;
6
use Liip\ImagineBundle\Tests\AbstractTest;
7
8
/**
9
 * @covers Liip\ImagineBundle\Imagine\Filter\FilterConfiguration
10
 */
11
class FilterConfigurationTest extends AbstractTest
12
{
13
    public function testSetAndGetFilter()
14
    {
15
        $config = array(
16
            'filters' => array(
17
                'thumbnail' => array(
18
                    'size' => array(180, 180),
19
                    'mode' => 'outbound',
20
                ),
21
            ),
22
            'cache' => 'web_path',
23
        );
24
25
        $filterConfiguration = new FilterConfiguration();
26
        $filterConfiguration->set('profile_photo', $config);
27
28
        $this->assertEquals($config, $filterConfiguration->get('profile_photo'));
29
    }
30
31
    public function testReturnAllFilters()
32
    {
33
        $filterConfiguration = new FilterConfiguration();
34
        $filterConfiguration->set('foo', array('fooConfig'));
35
        $filterConfiguration->set('bar', array('barConfig'));
36
37
        $filters = $filterConfiguration->all();
38
39
        $this->assertInternalType('array', $filters);
40
41
        $this->assertArrayHasKey('foo', $filters);
42
        $this->assertEquals(array('fooConfig'), $filters['foo']);
43
44
        $this->assertArrayHasKey('bar', $filters);
45
        $this->assertEquals(array('barConfig'), $filters['bar']);
46
    }
47
48
    public function testGetUndefinedFilter()
49
    {
50
        $filterConfiguration = new FilterConfiguration();
51
52
        $this->setExpectedException('RuntimeException', 'Could not find configuration for a filter: thumbnail');
53
        $filterConfiguration->get('thumbnail');
54
    }
55
56
    public function testShouldGetSameConfigSetBefore()
57
    {
58
        $config = array(
59
            'quality' => 85,
60
            'format' => 'jpg',
61
            'filters' => array(
62
                'thumbnail' => array(
63
                    'size' => array(180, 180),
64
                    'mode' => 'outbound',
65
                ),
66
            ),
67
            'cache' => 'web_path',
68
        );
69
70
        $filterConfiguration = new FilterConfiguration();
71
        $filterConfiguration->set('profile_photo', $config);
72
73
        $this->assertEquals($config, $filterConfiguration->get('profile_photo'));
74
    }
75
76
    public function testGetConfigSetViaConstructor()
77
    {
78
        $filterConfiguration = new FilterConfiguration(array(
79
            'profile_photo' => array(),
80
            'thumbnail' => array(),
81
        ));
82
83
        $this->assertInternalType('array', $filterConfiguration->get('profile_photo'));
84
        $this->assertInternalType('array', $filterConfiguration->get('thumbnail'));
85
    }
86
}
87