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

CliEntryTest::testPass()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 42
Code Lines 32

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 32
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 42
rs 9.408
1
<?php
2
3
namespace LoadersTests;
4
5
6
use CommonTestClass;
7
use kalanis\kw_input\Interfaces\IEntry;
8
use kalanis\kw_input\Loaders;
9
use kalanis\kw_input\Parsers;
10
11
12
class CliEntryTest extends CommonTestClass
13
{
14
    public function testPass(): void
15
    {
16
        $data = new Loaders\CliEntry();
17
        $this->assertInstanceOf(Loaders\ALoader::class, $data);
18
19
        $cli = new Parsers\Cli();
20
        $entries = $data->loadVars(IEntry::SOURCE_CLI, $cli->parseInput($this->cliDataset()));
21
22
        $entry = reset($entries);
23
        $this->assertEquals(IEntry::SOURCE_CLI, $entry->getSource());
24
        $this->assertEquals('testing', $entry->getKey());
25
        $this->assertEquals('foo', $entry->getValue());
26
27
        $entry = next($entries);
28
        $this->assertEquals(IEntry::SOURCE_CLI, $entry->getSource());
29
        $this->assertEquals('bar', $entry->getKey());
30
        $this->assertEquals(['baz', 'eek'], $entry->getValue());
31
32
        $entry = next($entries);
33
        $this->assertEquals(IEntry::SOURCE_CLI, $entry->getSource());
34
        $this->assertEquals('mko', $entry->getKey());
35
        $this->assertEquals('', $entry->getValue());
36
37
        $entry = next($entries);
38
        $this->assertEquals(IEntry::SOURCE_CLI, $entry->getSource());
39
        $this->assertEquals('der', $entry->getKey());
40
        $this->assertEquals(true, $entry->getValue());
41
42
        $entry = next($entries);
43
        $this->assertEquals(IEntry::SOURCE_FILES, $entry->getSource());
44
        $this->assertEquals('file1', $entry->getKey());
45
        $this->assertEquals('./data/tester.gif', $entry->getValue());
46
47
        $entry = next($entries);
48
        $this->assertEquals(IEntry::SOURCE_FILES, $entry->getSource());
49
        $this->assertEquals('file2', $entry->getKey());
50
        $this->assertEquals('data/testing.1.txt', $entry->getValue());
51
52
        $entry = next($entries);
53
        $this->assertEquals(IEntry::SOURCE_CLI, $entry->getSource());
54
        $this->assertEquals('file3', $entry->getKey());
55
        $this->assertEquals('./data/testing.2.txt', $entry->getValue());
56
    }
57
}
58