diff options
Diffstat (limited to 'www/wiki/extensions/SemanticMediaWiki/tests/phpunit/Unit/Services/MediaWikiServicesContainerBuildTest.php')
-rw-r--r-- | www/wiki/extensions/SemanticMediaWiki/tests/phpunit/Unit/Services/MediaWikiServicesContainerBuildTest.php | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/www/wiki/extensions/SemanticMediaWiki/tests/phpunit/Unit/Services/MediaWikiServicesContainerBuildTest.php b/www/wiki/extensions/SemanticMediaWiki/tests/phpunit/Unit/Services/MediaWikiServicesContainerBuildTest.php new file mode 100644 index 00000000..99b448fb --- /dev/null +++ b/www/wiki/extensions/SemanticMediaWiki/tests/phpunit/Unit/Services/MediaWikiServicesContainerBuildTest.php @@ -0,0 +1,87 @@ +<?php + +namespace SMW\Tests\Services; + +use Onoi\CallbackContainer\CallbackContainerFactory; + +/** + * @group semantic-mediawiki + * + * @license GNU GPL v2+ + * @since 2.5 + * + * @author mwjames + */ +class MediaWikiServicesContainerBuildTest extends \PHPUnit_Framework_TestCase { + + private $callbackContainerFactory; + private $servicesFileDir; + + protected function setUp() { + parent::setUp(); + + $this->callbackContainerFactory = new CallbackContainerFactory(); + $this->servicesFileDir = $GLOBALS['smwgServicesFileDir']; + } + + /** + * @dataProvider servicesProvider + */ + public function testCanConstruct( $service, $parameters, $expected ) { + + array_unshift( $parameters, $service ); + + $containerBuilder = $this->callbackContainerFactory->newCallbackContainerBuilder(); + $containerBuilder->registerFromFile( $this->servicesFileDir . '/' . 'MediaWikiServices.php' ); + + $this->assertInstanceOf( + $expected, + call_user_func_array( [ $containerBuilder, 'create' ], $parameters ) + ); + } + + public function servicesProvider() { + + $title = $this->getMockBuilder( '\Title' ) + ->disableOriginalConstructor() + ->getMock(); + + $provider[] = [ + 'WikiPage', + [ $title ], + '\WikiPage' + ]; + + $provider[] = [ + 'DBLoadBalancer', + [], + '\LoadBalancer' + ]; + +/* + $database = $this->getMockBuilder( '\DatabaeBase' ) + ->disableOriginalConstructor() + ->getMock(); + + $provider[] = array( + 'DefaultSearchEngineTypeForDB', + array( $database ), + '\SearchEngine' + ); +*/ + + $provider[] = [ + 'MediaWikiLogger', + [], + '\Psr\Log\LoggerInterface' + ]; + + $provider[] = [ + 'JobQueueGroup', + [], + '\JobQueueGroup' + ]; + + return $provider; + } +} |