Passed
Push — master ( 2ddebf...84c74c )
by Petr
09:17 queued 01:35
created

TempFilesTest::getProcessor()   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
cc 1
eloc 2
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 4
rs 10
1
<?php
2
3
namespace CheckTests;
4
5
6
use CommonTestClass;
7
use kalanis\kw_files\FilesException;
8
use kalanis\kw_files\Interfaces\IProcessFiles;
9
use kalanis\kw_files\Processing\Storage\Files\Basic;
10
use kalanis\kw_mime\Check\TempFiles;
11
use kalanis\kw_mime\MimeException;
12
use kalanis\kw_storage\Storage\Key\DirKey;
13
use kalanis\kw_storage\Storage\Storage;
14
use kalanis\kw_storage\Storage\Target\Volume;
15
16
17
class TempFilesTest extends CommonTestClass
18
{
19
    public function testCannotUseMime(): void
20
    {
21
        $lib = new XFTempFiles1();
22
        $this->assertFalse($lib->canUse('whatever'));
23
    }
24
25
    public function testCannotUseSource(): void
26
    {
27
        $lib = new TempFiles();
28
        $this->assertFalse($lib->canUse('whatever'));
29
    }
30
31
    /**
32
     * @throws MimeException
33
     */
34
    public function testCannotMime(): void
35
    {
36
        $lib = new XFTempFiles2();
37
        $this->expectException(MimeException::class);
38
        $lib->getMime(['whatever']);
39
    }
40
41
    /**
42
     * @param string $file
43
     * @param string $mime
44
     * @throws MimeException
45
     * @dataProvider fullProvider
46
     */
47
    public function testFull(string $file, string $mime): void
48
    {
49
        $lib = new TempFiles();
50
        $lib->canUse($this->getProcessor());
51
        $this->assertEquals($mime, $lib->getMime([$file]));
52
    }
53
54
    public function fullProvider(): array
55
    {
56
        return [
57
            ['test.class', 'text/x-c'],
58
            ['test.pas', 'text/plain'],
59
        ];
60
    }
61
62
    protected function getProcessor(): IProcessFiles
63
    {
64
        DirKey::setDir(__DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR);
65
        return new Basic(new Storage(new DirKey(), new Volume()));
66
    }
67
}
68
69
70
class XFTempFiles1 extends TempFiles
71
{
72
    protected function isMimeFunction(): bool
73
    {
74
        return false;
75
    }
76
}
77
78
79
class XFTempFiles2 extends TempFiles
80
{
81
    public function getProcessFile(): IProcessFiles
82
    {
83
        throw new FilesException('mock');
84
    }
85
}
86