Blame view

vendor/composer/installers/tests/Composer/Installers/Test/OctoberInstallerTest.php 1.64 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\OctoberInstaller;
  use Composer\Package\Package;
  use Composer\Composer;
  
  class OctoberInstallerTest extends \PHPUnit_Framework_TestCase
  {
      /**
       * @var OctoberInstaller
       */
      private $installer;
  
      public function setUp()
      {
          $this->installer = new OctoberInstaller(
              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(
                  'october-plugin',
                  'subpagelist',
                  'subpagelist',
              ),
              array(
                  'october-plugin',
                  'subpagelist-plugin',
                  'subpagelist',
              ),
              array(
                  'october-plugin',
                  'semanticoctober',
                  'semanticoctober',
              ),
              // tests that exactly one '-theme' is cut off
              array(
                  'october-theme',
                  'some-theme-theme',
                  'some-theme',
              ),
              // tests that names without '-theme' suffix stay valid
              array(
                  'october-theme',
                  'someothertheme',
                  'someothertheme',
              ),
          );
      }
  }