Failed Conditions
Pull Request — master (#72)
by Craig
04:57
created

OptionsTest::testOptionsAppendSymbolWhitelist()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 11
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 6
nc 1
nop 0
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: matthias
5
 * Date: 01.12.15
6
 * Time: 22:10
7
 */
8
9
namespace ComposerRequireCheckerTest\Cli;
10
11
use ComposerRequireChecker\Cli\Options;
12
use PHPUnit\Framework\TestCase;
13
14
class OptionsTest extends TestCase
15
{
16
    public function testOptionsAcceptPhpCoreExtensions()
17
    {
18
        $options = new Options([
19
            'php-core-extensions' => ['something']
20
        ]);
21
22
        $this->assertSame(['something'], $options->getPhpCoreExtensions());
23
    }
24
25
    public function testOptionsAppendPhpCoreExtensions()
26
    {
27
        $options = new Options([
28
            'append' => [
29
                'php-core-extensions' => ['something']
30
            ],
31
        ]);
32
33
        $this->assertContains('something', $options->getPhpCoreExtensions());
34
        $this->assertContains('Reflection', $options->getPhpCoreExtensions());
35
    }
36
37
    public function testOptionsAcceptSymbolWhitelist()
38
    {
39
        $options = new Options([
40
            'symbol-whitelist' => ['foo', 'bar']
41
        ]);
42
43
        $this->assertSame(['foo', 'bar'], $options->getSymbolWhitelist());
44
    }
45
46
    public function testOptionsAppendSymbolWhitelist()
47
    {
48
        $options = new Options([
49
            'append' => [
50
                'symbol-whitelist' => ['foo', 'bar'],
51
            ],
52
        ]);
53
54
        $this->assertContains('foo', $options->getSymbolWhitelist());
55
        $this->assertContains('bar', $options->getSymbolWhitelist());
56
        $this->assertContains('null', $options->getSymbolWhitelist());
57
    }
58
59
    public function testOptionsFileRepresentsDefaults()
60
    {
61
        $options = new Options();
62
63
        $optionsFromFile = new Options(
64
            json_decode(file_get_contents(
65
                __DIR__ . '/../../../data/config.dist.json'
66
            ), true)
67
        );
68
69
        $this->assertEquals($options, $optionsFromFile);
70
    }
71
72
    public function testThrowsExceptionForUnknownOptions()
73
    {
74
        $this->expectException('InvalidArgumentException');
75
        $options = new Options([
0 ignored issues
show
Unused Code introduced by
The assignment to $options is dead and can be removed.
Loading history...
76
            'foo-bar' => ['foo', 'bar']
77
        ]);
78
    }
79
}
80