Completed
Pull Request — master (#223)
by Jaap
07:24
created

ParserTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 59
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 3
dl 0
loc 59
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testParsesDocblock() 0 8 1
A docblockProvider() 0 44 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace phpDocumentor\Reflection;
6
7
use \phpDocumentor\Reflection\AST;
8
use PHPUnit\Framework\TestCase;
9
10
class ParserTest extends TestCase
11
{
12
    /**
13
     * @dataProvider docblockProvider
14
     */
15
    public function testParsesDocblock(string $docblock, AST\Docblock $expectedAst) : void
16
    {
17
        $parser = new Parser();
18
19
        $ast = $parser->parse($docblock);
20
21
        $this->assertEquals($expectedAst, $ast);
22
    }
23
24
    public function docblockProvider()
25
    {
26
        return [
27
            'empty singleLine docblock' => [
28
                "/** */",
29
                new AST\Docblock(),
30
            ],
31
            'empty docblock' => [
32
                <<<DOCBLOCK
33
/**
34
 */
35
DOCBLOCK
36
                ,
37
                new AST\Docblock(),
38
            ],
39
            'simple tag' => [
40
                <<<DOCBLOCK
41
/**
42
 * @var
43
 */
44
DOCBLOCK
45
                ,
46
                new AST\Docblock(null, new AST\Tag('var')),
47
            ],
48
            [
49
                <<<DOCBLOCK
50
/**
51
 * @var:unittest
52
 */
53
DOCBLOCK
54
                ,
55
                new AST\Docblock(null, new AST\Tag('var', 'unittest')),
56
            ],
57
            [
58
                <<<DOCBLOCK
59
/**
60
 * This is a docblock
61
 */
62
DOCBLOCK
63
                ,
64
                new AST\Docblock('This is a docblock'),
65
            ],
66
        ];
67
    }
68
}
69