Completed
Push — master ( e3fefc...6fb92f )
by Tomáš
8s
created

SniffTest::getCodeSniffer()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace Symplify\MultiCodingStandard\Tests\CodeSniffer\CodeSnifferFactory\Sniff;
4
5
use PHP_CodeSniffer;
6
use PHPUnit\Framework\TestCase;
7
use PHPUnit_Framework_Assert;
8
use Symplify\MultiCodingStandard\Contract\CodeSniffer\CodeSnifferFactoryInterface;
9
use Symplify\MultiCodingStandard\Tests\ContainerFactory;
10
use SymplifyCodingStandard\Sniffs\Naming\AbstractClassNameSniff;
11
12
final class SniffTest extends TestCase
13
{
14
    /**
15
     * @var CodeSnifferFactoryInterface
16
     */
17
    private $codeSnifferFactory;
18
19
    protected function setUp()
20
    {
21
        $container = (new ContainerFactory())->createWithConfig(__DIR__ . '/config/config.neon');
22
        $this->codeSnifferFactory = $container->getByType(CodeSnifferFactoryInterface::class);
23
    }
24
25
    public function testInstance()
26
    {
27
        $this->assertInstanceOf(PHP_CodeSniffer::class, $this->codeSnifferFactory->create());
28
    }
29
30
    public function testProcessFile()
31
    {
32
        $file = $this->getCodeSniffer()->processFile(__DIR__ . '/SniffSource/SomeAbstractClass.php');
33
        $this->assertSame(1, $file->getErrorCount());
34
35
        $error = $file->getErrors()[5][10][0];
36
        $this->assertSame('SymplifyCodingStandard.Naming.AbstractClassName', $error['source']);
37
    }
38
39
    public function testRegisteredSniffs()
40
    {
41
        $registeredSniffs = PHPUnit_Framework_Assert::getObjectAttribute($this->getCodeSniffer(), 'sniffs');
42
        $this->assertCount(1, $registeredSniffs);
43
        $this->assertSame([AbstractClassNameSniff::class => AbstractClassNameSniff::class], $registeredSniffs);
44
    }
45
46
    /**
47
     * @return PHP_CodeSniffer
48
     */
49
    private function getCodeSniffer()
50
    {
51
        return $this->codeSnifferFactory->create();
52
    }
53
}
54