Passed
Push — master ( de4ed9...5f6eee )
by Petr
10:41
created

FilesTest::testPass()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 5
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 9
rs 10
1
<?php
2
3
namespace ParserTests;
4
5
6
use CommonTestClass;
7
use kalanis\kw_input\Parsers;
8
9
10
class FilesTest extends CommonTestClass
11
{
12
    public function testPass(): void
13
    {
14
        $data = new Parsers\Files();
15
        $this->assertInstanceOf(Parsers\AParser::class, $data);
16
17
        $dataset = $this->fileDataset();
18
        $entries = $data->parseInput($dataset);
19
20
        $this->assertEquals($dataset, $entries);
21
    }
22
23
    public function testStrange(): void
24
    {
25
        $data = new Parsers\Files();
26
        $this->assertInstanceOf(Parsers\AParser::class, $data);
27
28
        $dataset = $this->strangeFileDataset();
29
        $entries = $data->parseInput($dataset);
30
31
        $entry = reset($entries);
32
        $this->assertEquals('files', key($entries));
33
        $this->assertEquals([ // simple upload
34
            'name' => 'facepalm.jpg',
35
            'type' => 'image<?= \'/\'; ?>jpeg',
36
            'tmp_name' => '/tmp/php3zU3t5',
37
            'error' => UPLOAD_ERR_OK,
38
            'size' => '591387',
39
        ], $entry);
40
41
        $entry = next($entries);
42
        $this->assertEquals('download', key($entries));
43
        $this->assertEquals([
44
            'file1' => 'C:\System\MyFile.txt',
45
            'file2' => 'A:\MyFile.jpg',
46
        ], $entry['name']);
47
    }
48
}
49