StringExistsRule   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 20
Duplicated Lines 100 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 2
c 0
b 0
f 0
lcom 1
cbo 2
dl 20
loc 20
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A init() 4 4 1
A doValidation() 5 5 1

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
3
namespace whm\Smoke\Rules\Html;
4
5
use Psr\Http\Message\ResponseInterface;
6
use whm\Smoke\Rules\StandardRule;
7
8
/**
9
 * This rule will analyze any html document and checks if a given string is contained.
10
 */
11 View Code Duplication
class StringExistsRule extends StandardRule
12
{
13
    private $string;
14
15
    protected $contentTypes = array('text/html');
16
17
    /**
18
     * @param int $string The string that the document must contain
19
     */
20
    public function init($string)
21
    {
22
        $this->string = $string;
23
    }
24
25
    protected function doValidation(ResponseInterface $response)
26
    {
27
        $this->assert(strpos((string)$response->getBody(), $this->string) !== false,
28
            'The given string (' . $this->string . ') was not found in this document.');
29
    }
30
}
31