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
67
68
69
70
71
72
73
74
75
76
77
78
79
|
<?php
namespace Composer\Installers\Test;
use Composer\Installers\AsgardInstaller;
use Composer\Package\Package;
use Composer\Composer;
class AsgardInstallerTest extends \PHPUnit_Framework_TestCase
{
/**
* @var AsgardInstaller
*/
private $installer;
public function setUp()
{
$this->installer = new AsgardInstaller(
new Package('NyanCat', '4.2', '4.2'),
new Composer()
);
}
/**
* @dataProvider packageNameInflectionProvider
*/
public function testInflectPackageVars($type, $name, $expected)
{
$this->assertEquals(
array('name' => $expected, 'type' => $type),
$this->installer->inflectPackageVars(array('name' => $name, 'type' => $type))
);
}
public function packageNameInflectionProvider()
{
return array(
// Should keep module name StudlyCase
array(
'asgard-module',
'user-profile',
'UserProfile'
),
array(
'asgard-module',
'asgard-module',
'Asgard'
),
array(
'asgard-module',
'blog',
'Blog'
),
// tests that exactly one '-module' is cut off
array(
'asgard-module',
'some-module-module',
'SomeModule',
),
// tests that exactly one '-theme' is cut off
array(
'asgard-theme',
'some-theme-theme',
'SomeTheme',
),
// tests that names without '-theme' suffix stay valid
array(
'asgard-theme',
'someothertheme',
'Someothertheme',
),
// Should keep theme name StudlyCase
array(
'asgard-theme',
'adminlte-advanced',
'AdminlteAdvanced'
),
);
}
}
|