Chris@0: installer = new AsgardInstaller( Chris@0: new Package('NyanCat', '4.2', '4.2'), Chris@0: new Composer() Chris@0: ); Chris@0: } Chris@0: Chris@0: /** Chris@0: * @dataProvider packageNameInflectionProvider Chris@0: */ Chris@0: public function testInflectPackageVars($type, $name, $expected) Chris@0: { Chris@0: $this->assertEquals( Chris@0: array('name' => $expected, 'type' => $type), Chris@0: $this->installer->inflectPackageVars(array('name' => $name, 'type' => $type)) Chris@0: ); Chris@0: } Chris@0: Chris@0: public function packageNameInflectionProvider() Chris@0: { Chris@0: return array( Chris@0: // Should keep module name StudlyCase Chris@0: array( Chris@0: 'asgard-module', Chris@0: 'user-profile', Chris@0: 'UserProfile' Chris@0: ), Chris@0: array( Chris@0: 'asgard-module', Chris@0: 'asgard-module', Chris@0: 'Asgard' Chris@0: ), Chris@0: array( Chris@0: 'asgard-module', Chris@0: 'blog', Chris@0: 'Blog' Chris@0: ), Chris@0: // tests that exactly one '-module' is cut off Chris@0: array( Chris@0: 'asgard-module', Chris@0: 'some-module-module', Chris@0: 'SomeModule', Chris@0: ), Chris@0: // tests that exactly one '-theme' is cut off Chris@0: array( Chris@0: 'asgard-theme', Chris@0: 'some-theme-theme', Chris@0: 'SomeTheme', Chris@0: ), Chris@0: // tests that names without '-theme' suffix stay valid Chris@0: array( Chris@0: 'asgard-theme', Chris@0: 'someothertheme', Chris@0: 'Someothertheme', Chris@0: ), Chris@0: // Should keep theme name StudlyCase Chris@0: array( Chris@0: 'asgard-theme', Chris@0: 'adminlte-advanced', Chris@0: 'AdminlteAdvanced' Chris@0: ), Chris@0: ); Chris@0: } Chris@0: }