Passed
Push — master ( 535739...af4710 )
by Matthias
03:18
created

DefinedSymbolCollectorTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
dl 0
loc 8
rs 9.4285
c 1
b 0
f 1
cc 1
eloc 5
nc 1
nop 0
1
<?php
2
3
namespace ComposerRequireCheckerTest\NodeVisitor;
4
5
use ComposerRequireChecker\NodeVisitor\DefinedSymbolCollector;
6
use PhpParser\Node\Stmt\Class_;
7
use PhpParser\NodeTraverser;
8
use PhpParser\NodeTraverserInterface;
9
use PhpParser\NodeVisitor\NameResolver;
10
use PhpParser\Parser;
11
use PhpParser\ParserFactory;
12
use PHPUnit\Framework\TestCase;
13
14
class DefinedSymbolCollectorTest extends TestCase
15
{
16
    /**
17
     * @var DefinedSymbolCollector
18
     */
19
    private $collector;
20
21
    /**
22
     * @var Parser
23
     */
24
    private $parser;
25
26
    /**
27
     * @var NodeTraverserInterface
28
     */
29
    private $traverser;
30
31
    /**
32
     * {@inheritDoc}
33
     */
34
    protected function setUp()
35
    {
36
        $this->collector = new DefinedSymbolCollector();
37
        $this->parser = (new ParserFactory())->create(ParserFactory::PREFER_PHP7);
38
        $this->traverser = new NodeTraverser();
39
40
        $this->traverser->addVisitor(new NameResolver());
41
        $this->traverser->addVisitor($this->collector);
42
    }
43
44
    public function testExceptionWhenNoNamespaceDefined()
45
    {
46
        $this->expectException(\UnexpectedValueException::class);
47
        $node = new Class_('gedöns');
48
        $this->collector->enterNode($node);
49
    }
50
51
}