Yaffs site version 1.1
[yaffs-website] / vendor / composer / installers / tests / Composer / Installers / Test / MediaWikiInstallerTest.php
1 <?php
2 namespace Composer\Installers\Test;
3
4 use Composer\Installers\MediaWikiInstaller;
5 use Composer\Package\Package;
6 use Composer\Composer;
7
8 class MediaWikiInstallerTest extends \PHPUnit_Framework_TestCase
9 {
10     /**
11      * @var MediaWikiInstaller
12      */
13     private $installer;
14
15     public function setUp()
16     {
17         $this->installer = new MediaWikiInstaller(
18             new Package('NyanCat', '4.2', '4.2'),
19             new Composer()
20         );
21     }
22
23     /**
24      * @dataProvider packageNameInflectionProvider
25      */
26     public function testInflectPackageVars($type, $name, $expected)
27     {
28         $this->assertEquals(
29             $this->installer->inflectPackageVars(array('name' => $name, 'type'=>$type)),
30             array('name' => $expected, 'type'=>$type)
31         );
32     }
33
34     public function packageNameInflectionProvider()
35     {
36         return array(
37             array(
38                 'mediawiki-extension',
39                 'sub-page-list',
40                 'SubPageList',
41             ),
42             array(
43                 'mediawiki-extension',
44                 'sub-page-list-extension',
45                 'SubPageList',
46             ),
47             array(
48                 'mediawiki-extension',
49                 'semantic-mediawiki',
50                 'SemanticMediawiki',
51             ),
52             // tests that exactly one '-skin' is cut off, and that skins do not get ucwords treatment like extensions
53             array(
54                 'mediawiki-skin',
55                 'some-skin-skin',
56                 'some-skin',
57             ),
58             // tests that names without '-skin' suffix stay valid
59             array(
60                 'mediawiki-skin',
61                 'someotherskin',
62                 'someotherskin',
63             ),
64         );
65     }
66 }