Passed
Pull Request — 4 (#10150)
by Maxime
06:26
created

ModuleTest::ciLibraryProvider()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 24
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 18
nc 1
nop 0
dl 0
loc 24
rs 9.6666
c 0
b 0
f 0
1
<?php
2
3
namespace SilverStripe\Core\Tests\Manifest;
4
5
use SilverStripe\Control\Director;
6
use SilverStripe\Core\Manifest\Module;
7
use SilverStripe\Dev\SapphireTest;
8
9
class ModuleTest extends SapphireTest
10
{
11
    public function testUnsetResourcesDir()
12
    {
13
        $path = __DIR__ . '/fixtures/ss-projects/withoutCustomResourcesDir';
14
        $module = new Module($path, $path);
15
        $this->assertEquals('', $module->getResourcesDir());
16
    }
17
18
    public function testResourcesDir()
19
    {
20
        $path = __DIR__ . '/fixtures/ss-projects/withCustomResourcesDir';
21
        $module = new Module($path, $path);
22
        $this->assertEquals('customised-resources-dir', $module->getResourcesDir());
23
    }
24
25
    /**
26
     * @dataProvider ciLibraryProvider
27
     */
28
    public function testGetCILibrary($fixture, $expected)
29
    {
30
        $path = __DIR__ . '/fixtures/phpunit-detection/' . $fixture;
31
        $module = new Module($path, $path);
32
        $this->assertEquals($expected, $module->getCILibrary());
33
    }
34
35
    public function ciLibraryProvider()
36
    {
37
        return [
38
            'empty require-dev' => ['empty-require-dev', Module::CI_PHPUNIT_UNKNOWN],
39
            'no require-dev' => ['no-require-dev', Module::CI_PHPUNIT_UNKNOWN],
40
            'older version of phpunit' => ['old-phpunit', Module::CI_PHPUNIT_UNKNOWN],
41
            'phpunit between 5 and 9' => ['inbetween-phpunit', Module::CI_PHPUNIT_UNKNOWN],
42
            'phpunit beyond 9' => ['future-phpunit', Module::CI_PHPUNIT_UNKNOWN],
43
44
            'phpunit 5.0' => ['phpunit-five-zero', Module::CI_PHPUNIT_FIVE],
45
            'phpunit 5.7' => ['phpunit-five-seven', Module::CI_PHPUNIT_FIVE],
46
            'sminnee 5.7' => ['sminnee-five-seven', Module::CI_PHPUNIT_FIVE],
47
            'sminnee 5' => ['sminnee-five-seven', Module::CI_PHPUNIT_FIVE],
48
49
            'phpunit 9' => ['phpunit-nine', Module::CI_PHPUNIT_NINE],
50
            'phpunit 9.5' => ['phpunit-nine-five', Module::CI_PHPUNIT_NINE],
51
            'future phpunit 9' => ['phpunit-nine-x', Module::CI_PHPUNIT_NINE],
52
53
            'recipe-testing 1' => ['recipe-testing-one', Module::CI_PHPUNIT_FIVE],
54
            'recipe-testing 1.x' => ['recipe-testing-one-x', Module::CI_PHPUNIT_FIVE],
55
            'recipe-testing 1.2.x' => ['recipe-testing-one-two-x', Module::CI_PHPUNIT_FIVE],
56
57
            'recipe-testing 2' => ['recipe-testing-two', Module::CI_PHPUNIT_NINE],
58
            'recipe-testing 2.x' => ['recipe-testing-two-x', Module::CI_PHPUNIT_NINE],
59
        ];
60
    }
61
}
62