1 | <?php |
||
2 | |||
3 | namespace SilverStripe\ModuleRatings\Tests\Check; |
||
4 | |||
5 | use PHPUnit\Framework\TestCase; |
||
6 | use SilverStripe\ModuleRatings\Check\ContributingFileCheck; |
||
7 | use SilverStripe\ModuleRatings\Check\EditorConfigFileCheck; |
||
8 | use SilverStripe\ModuleRatings\Check\GitAttributesFileCheck; |
||
9 | use SilverStripe\ModuleRatings\Check\LicenseCheck; |
||
10 | use SilverStripe\ModuleRatings\Check\ReadmeCheck; |
||
11 | use SilverStripe\ModuleRatings\CheckSuite; |
||
12 | use Symfony\Component\Finder\Finder; |
||
13 | |||
14 | /** |
||
15 | * This test covers the same logic used in all file based checks |
||
16 | */ |
||
17 | class AbstractFileCheckTest extends TestCase |
||
18 | { |
||
19 | /** |
||
20 | * @param string $cleckClass |
||
21 | * @param array $filenames |
||
22 | * @param bool $expected |
||
23 | * @dataProvider runProvider |
||
24 | */ |
||
25 | public function testRun($checkClass, $filenames, $expected) |
||
26 | { |
||
27 | // Set up the Finder mock |
||
28 | $finder = $this->getMockBuilder(Finder::class) |
||
0 ignored issues
–
show
|
|||
29 | ->setMethods(['files', 'in', 'name']) |
||
30 | ->getMock(); |
||
31 | |||
32 | $finder->expects($this->once())->method('files')->will($this->returnSelf()); |
||
33 | $finder->expects($this->once())->method('in')->will($this->returnSelf()); |
||
34 | $finder->expects($this->once())->method('name')->willReturn($filenames); |
||
35 | |||
36 | $check = new $checkClass(); |
||
37 | $check->setSuite(new CheckSuite()); |
||
38 | $check->setFinder($finder); |
||
39 | $check->run(); |
||
40 | |||
41 | $this->assertSame($expected, $check->getSuccessful()); |
||
42 | } |
||
43 | |||
44 | /** |
||
45 | * @return array[] |
||
46 | */ |
||
47 | public function runProvider() |
||
48 | { |
||
49 | return [ |
||
50 | // License check tests |
||
51 | 'markdown license uppercase' => [LicenseCheck::class, ['LICENSE.md'], true], |
||
52 | 'markdown license lowercase' => [LicenseCheck::class, ['license.md'], true], |
||
53 | 'text license uppercase' => [LicenseCheck::class, ['LICENSE.txt'], true], |
||
54 | 'text license lowercase' => [LicenseCheck::class, ['license.txt'], true], |
||
55 | 'license uppercase' => [LicenseCheck::class, ['LICENSE'], true], |
||
56 | 'license lowercase' => [LicenseCheck::class, ['license'], true], |
||
57 | 'no license' => [LicenseCheck::class, [], false], |
||
58 | |||
59 | // Contributing check tests |
||
60 | 'markdown contributing mixed case' => [ContributingFileCheck::class, ['CoNtrIbUtIng.md'], true], |
||
61 | 'markdown contributing lowercase' => [ContributingFileCheck::class, ['contributing.md'], true], |
||
62 | 'text contributing uppercase' => [ContributingFileCheck::class, ['CONTRIBUTING.txt'], true], |
||
63 | 'text contributing lowercase' => [ContributingFileCheck::class, ['contributing.txt'], true], |
||
64 | 'contributing uppercase' => [ContributingFileCheck::class, ['CONTRIBUTING'], true], |
||
65 | 'contributing lowercase' => [ContributingFileCheck::class, ['contributing'], true], |
||
66 | 'no contributing' => [ContributingFileCheck::class, [], false], |
||
67 | |||
68 | // Editorconfig check tests |
||
69 | 'editorconfig' => [EditorConfigFileCheck::class, ['.editorconfig'], true], |
||
70 | 'no editorconfig' => [EditorConfigFileCheck::class, [], false], |
||
71 | |||
72 | // Gitattributes check tests |
||
73 | 'gitattributes' => [GitAttributesFileCheck::class, ['.gitattributes'], true], |
||
74 | 'no gitattributes' => [GitAttributesFileCheck::class, [], false], |
||
75 | |||
76 | // Readme check tests |
||
77 | 'markdown readme uppercase' => [ReadmeCheck::class, ['README.md'], true], |
||
78 | 'markdown readme lowercase' => [ReadmeCheck::class, ['readme.md'], true], |
||
79 | 'text readme uppercase' => [ReadmeCheck::class, ['README.txt'], true], |
||
80 | 'text readme lowercase' => [ReadmeCheck::class, ['readme.txt'], true], |
||
81 | 'readme uppercase' => [ReadmeCheck::class, ['README'], true], |
||
82 | 'readme lowercase' => [ReadmeCheck::class, ['readme'], true], |
||
83 | 'no readme' => [ReadmeCheck::class, [], false], |
||
84 | ]; |
||
85 | } |
||
86 | } |
||
87 |
This function has been deprecated. The supplier of the function has supplied an explanatory message.
The explanatory message should give you some clue as to whether and when the function will be removed and what other function to use instead.