Blame view

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