SizeRule::init()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 4
Ratio 100 %

Importance

Changes 0
Metric Value
dl 4
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace whm\Smoke\Rules\Image;
4
5
use Psr\Http\Message\ResponseInterface;
6
use whm\Smoke\Rules\StandardRule;
7
8
/**
9
 * This rule checks if the size of an image is bigger than a given max value.
10
 */
11 View Code Duplication
class SizeRule extends StandardRule
12
{
13
    private $maxSize;
14
15
    protected $contentTypes = array('image');
16
17
    /**
18
     * @param int $maxSize The maximum size of an image file in kilobytes
19
     */
20
    public function init($maxSize = 100)
21
    {
22
        $this->maxSize = $maxSize;
23
    }
24
25
    protected function doValidation(ResponseInterface $response)
26
    {
27
        $size = strlen((string)$response->getBody()) / 1000;
28
        $this->assert($size <= $this->maxSize, 'The size of the file is too big (' . $size . ' KB)');
29
    }
30
}
31