Completed
Push — master ( 0b0b24...54ff37 )
by Colin
02:37
created

Heading   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 61
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 9
lcom 1
cbo 2
dl 0
loc 61
ccs 22
cts 22
cp 1
rs 10
c 0
b 0
f 0

7 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 14 3
A getLevel() 0 4 1
A finalize() 0 6 1
A canContain() 0 4 1
A isCode() 0 4 1
A matchesNextLine() 0 4 1
A handleRemainingContents() 0 4 1
1
<?php
2
3
/*
4
 * This file is part of the league/commonmark package.
5
 *
6
 * (c) Colin O'Dell <[email protected]>
7
 *
8
 * Original code based on the CommonMark JS reference parser (https://bitly.com/commonmark-js)
9
 *  - (c) John MacFarlane
10
 *
11
 * For the full copyright and license information, please view the LICENSE
12
 * file that was distributed with this source code.
13
 */
14
15
namespace League\CommonMark\Extension\CommonMark\Node\Block;
16
17
use League\CommonMark\Node\Block\AbstractBlock;
18
use League\CommonMark\Node\Block\AbstractStringContainerBlock;
19
use League\CommonMark\Node\Block\InlineContainerInterface;
20
use League\CommonMark\Parser\ContextInterface;
21
use League\CommonMark\Parser\Cursor;
22
23
class Heading extends AbstractStringContainerBlock implements InlineContainerInterface
24
{
25
    /**
26
     * @var int
27
     */
28
    protected $level;
29
30
    /**
31
     * @param int             $level
32
     * @param string|string[] $contents
33
     */
34 216
    public function __construct(int $level, $contents)
35
    {
36 216
        parent::__construct();
37
38 216
        $this->level = $level;
39
40 216
        if (!\is_array($contents)) {
41 159
            $contents = [$contents];
42
        }
43
44 216
        foreach ($contents as $line) {
45 216
            $this->addLine($line);
46
        }
47 216
    }
48
49
    /**
50
     * @return int
51
     */
52 204
    public function getLevel(): int
53
    {
54 204
        return $this->level;
55
    }
56
57 186
    public function finalize(ContextInterface $context, int $endLineNumber): void
58
    {
59 186
        parent::finalize($context, $endLineNumber);
60
61 186
        $this->finalStringContents = \implode("\n", $this->strings->toArray());
62 186
    }
63
64 3
    public function canContain(AbstractBlock $block): bool
65
    {
66 3
        return false;
67
    }
68
69 3
    public function isCode(): bool
70
    {
71 3
        return false;
72
    }
73
74 114
    public function matchesNextLine(Cursor $cursor): bool
75
    {
76 114
        return false;
77
    }
78
79 186
    public function handleRemainingContents(ContextInterface $context, Cursor $cursor): void
80
    {
81
        // nothing to do; contents were already added via the constructor.
82 186
    }
83
}
84