Skip to content

Commit f1624f3

Browse files
authored
Merge pull request #273 from marinaglancy/dataformat
Validation of dataformat - custom plugin name lang string
2 parents 6e33ca3 + 8cd51d0 commit f1624f3

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
/**
4+
* This file is part of the Moodle Plugin CI package.
5+
*
6+
* For the full copyright and license information, please view the LICENSE
7+
* file that was distributed with this source code.
8+
*
9+
* @copyright 2024 Marina Glancy
10+
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
11+
*/
12+
13+
namespace MoodlePluginCI\PluginValidate\Requirements;
14+
15+
use MoodlePluginCI\PluginValidate\Finder\FileTokens;
16+
17+
/**
18+
* Dataformat plugin requirements.
19+
*/
20+
class DataformatRequirements extends GenericRequirements
21+
{
22+
public function getRequiredStrings(): FileTokens
23+
{
24+
return FileTokens::create($this->getLangFile())->mustHave('dataformat');
25+
}
26+
}

src/PluginValidate/Requirements/RequirementsResolver.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public function resolveRequirements(Plugin $plugin, $moodleVersion)
3232
$map = [
3333
'auth' => new AuthRequirements($plugin, $moodleVersion),
3434
'block' => new BlockRequirements($plugin, $moodleVersion),
35+
'dataformat' => new DataformatRequirements($plugin, $moodleVersion),
3536
'filter' => new FilterRequirements($plugin, $moodleVersion),
3637
'format' => new FormatRequirements($plugin, $moodleVersion),
3738
'mod' => new ModuleRequirements($plugin, $moodleVersion),
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php
2+
3+
/**
4+
* This file is part of the Moodle Plugin CI package.
5+
*
6+
* For the full copyright and license information, please view the LICENSE
7+
* file that was distributed with this source code.
8+
*
9+
* @copyright 2024 Marina Glancy
10+
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
11+
*/
12+
13+
namespace MoodlePluginCI\Tests\PluginValidate;
14+
15+
use MoodlePluginCI\PluginValidate\Plugin;
16+
use MoodlePluginCI\PluginValidate\Requirements\DataformatRequirements;
17+
use MoodlePluginCI\PluginValidate\Requirements\RequirementsResolver;
18+
19+
class DataformatRequirementsTest extends \PHPUnit\Framework\TestCase
20+
{
21+
/**
22+
* @var DataformatRequirements
23+
*/
24+
private $requirements;
25+
26+
protected function setUp(): void
27+
{
28+
$this->requirements = new DataformatRequirements(new Plugin('dataformat_csv', 'dataformat', 'csv', ''), 29);
29+
}
30+
31+
protected function tearDown(): void
32+
{
33+
$this->requirements = null;
34+
}
35+
36+
public function testResolveRequirements()
37+
{
38+
$resolver = new RequirementsResolver();
39+
40+
$this->assertInstanceOf(
41+
'MoodlePluginCI\PluginValidate\Requirements\DataformatRequirements',
42+
$resolver->resolveRequirements(new Plugin('', 'dataformat', '', ''), 29)
43+
);
44+
}
45+
46+
public function testGetRequiredStrings()
47+
{
48+
$fileToken = $this->requirements->getRequiredStrings();
49+
$this->assertInstanceOf('MoodlePluginCI\PluginValidate\Finder\FileTokens', $fileToken);
50+
$this->assertSame('lang/en/dataformat_csv.php', $fileToken->file);
51+
}
52+
}

0 commit comments

Comments
 (0)