Completed
Push — master ( 3f79e5...1ec99b )
by Kevin
02:42
created

Title::doClean()   B

Complexity

Conditions 6
Paths 5

Size

Total Lines 19
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 13
CRAP Score 6

Importance

Changes 2
Bugs 1 Features 1
Metric Value
c 2
b 1
f 1
dl 0
loc 19
ccs 13
cts 13
cp 1
rs 8.8571
cc 6
eloc 10
nc 5
nop 1
crap 6
1
<?php
2
3
namespace Groundskeeper\Tokens\Elements;
4
5
use Groundskeeper\Configuration;
6
use Groundskeeper\Tokens\ElementTypes\OpenElement;
7
use Groundskeeper\Tokens\ElementTypes\MetadataContent;
8
use Groundskeeper\Tokens\Token;
9
use Psr\Log\LoggerInterface;
10
11
class Title extends OpenElement implements MetadataContent
12
{
13 16
    protected function doClean(LoggerInterface $logger = null)
14
    {
15
        // TITLE must contain only non-whitespace text.
16 16
        foreach ($this->children as $child) {
17 14
            if ($child->getType() == Token::COMMENT) {
18 1
                continue;
19
            }
20
21 14
            if ($child->getType() != Token::TEXT &&
22 14
                $this->configuration->get('clean-strategy') != Configuration::CLEAN_STRATEGY_LENIENT) {
23 1
                $this->removeChild($child);
24 1
                if ($logger !== null) {
25 1
                    $logger->debug('Removing ' . $child . '. Only text allowed inside TITLE.');
26 1
                }
27 1
            }
28 16
        }
29
30 16
        return true;
31
    }
32
}
33