Passed
Push — master ( 1a6375...8f4058 )
by Petr
08:21 queued 05:12
created

MimeTest::fullProvider()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 5
c 0
b 0
f 0
dl 0
loc 7
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace tests\BasicTests;
4
5
6
use tests\CommonTestClass;
7
use kalanis\kw_mime\MimeException;
8
use kalanis\kw_mime\MimeType;
9
use kalanis\kw_paths\PathsException;
10
11
12
class MimeTest extends CommonTestClass
13
{
14
    public function testBasic(): void
15
    {
16
        $lib = new MimeType(true);
17
        $this->assertEquals('video/webm', $lib->mimeByExt('webm'));
18
        $this->assertEquals('text/pascal', $lib->mimeByExt('PAS'));
19
        $this->assertEquals('application/octet-stream', $lib->mimeByExt('FOO'));
20
    }
21
22
    /**
23
     * @param string $file
24
     * @param string $mime
25
     * @param bool $localAtFirst
26
     * @throws MimeException
27
     * @throws PathsException
28
     * @dataProvider fullProvider
29
     */
30
    public function testFull(string $file, string $mime, bool $localAtFirst): void
31
    {
32
        $lib = new MimeType($localAtFirst);
33
        $this->assertEquals($mime, $lib->mimeByPath(realpath(__DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . $file)));
34
    }
35
36
    public function fullProvider(): array
37
    {
38
        return [
39
            ['test.class', $this->defaultJavaFileMime(), false],
40
            ['test.pas', 'text/plain', false],
41
            ['test.class', 'application/java-vm', true],
42
            ['test.pas', 'text/pascal', true],
43
        ];
44
    }
45
}
46