Chris@0: installer = new MediaWikiInstaller( 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: $this->installer->inflectPackageVars(array('name' => $name, 'type'=>$type)), Chris@0: array('name' => $expected, 'type'=>$type) Chris@0: ); Chris@0: } Chris@0: Chris@0: public function packageNameInflectionProvider() Chris@0: { Chris@0: return array( Chris@0: array( Chris@0: 'mediawiki-extension', Chris@0: 'sub-page-list', Chris@0: 'SubPageList', Chris@0: ), Chris@0: array( Chris@0: 'mediawiki-extension', Chris@0: 'sub-page-list-extension', Chris@0: 'SubPageList', Chris@0: ), Chris@0: array( Chris@0: 'mediawiki-extension', Chris@0: 'semantic-mediawiki', Chris@0: 'SemanticMediawiki', Chris@0: ), Chris@0: // tests that exactly one '-skin' is cut off, and that skins do not get ucwords treatment like extensions Chris@0: array( Chris@0: 'mediawiki-skin', Chris@0: 'some-skin-skin', Chris@0: 'some-skin', Chris@0: ), Chris@0: // tests that names without '-skin' suffix stay valid Chris@0: array( Chris@0: 'mediawiki-skin', Chris@0: 'someotherskin', Chris@0: 'someotherskin', Chris@0: ), Chris@0: ); Chris@0: } Chris@0: }