Aude has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/148644

Change subject: Fix and improve naming in parser function Runner
......................................................................

Fix and improve naming in parser function Runner

Change-Id: I14adede8af4289d01427a5f68c15ad2b1b775163
---
M client/includes/DataAccess/PropertyParserFunction/Runner.php
M client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php
2 files changed, 31 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/44/148644/1

diff --git a/client/includes/DataAccess/PropertyParserFunction/Runner.php 
b/client/includes/DataAccess/PropertyParserFunction/Runner.php
index 58ef71d..9c328bd 100644
--- a/client/includes/DataAccess/PropertyParserFunction/Runner.php
+++ b/client/includes/DataAccess/PropertyParserFunction/Runner.php
@@ -95,29 +95,29 @@
 
        /**
         * @param EntityId $entityId
-        * @param string $propertyLabel property label or ID (pXXX)
+        * @param string $propertyLabelOrId property label or ID (pXXX)
         * @param Language $language
         *
         * @return string
         */
-       public function renderInLanguage( EntityId $entityId, $propertyLabel, 
Language $language ) {
+       public function renderInLanguage( EntityId $entityId, 
$propertyLabelOrId, Language $language ) {
                $renderer = $this->rendererFactory->newFromLanguage( $language 
);
-               return $renderer->render( $entityId, $propertyLabel );
+               return $renderer->render( $entityId, $propertyLabelOrId );
        }
 
        /**
         * @param EntityId $entityId
-        * @param string $propertyLabel property label or ID (pXXX)
+        * @param string $propertyLabelOrId property label or ID (pXXX)
         * @param string[] $variants Variant codes
         *
         * @return string[], key by variant codes
         */
-       public function renderInVariants( EntityId $entityId, $propertyLabel, 
array $variants ) {
+       public function renderInVariants( EntityId $entityId, 
$propertyLabelOrId, array $variants ) {
                $textArray = array();
 
                foreach ( $variants as $variantCode ) {
                        $variantLanguage = Language::factory( $variantCode );
-                       $variantText = $this->renderInLanguage( $entityId, 
$propertyLabel, $variantLanguage );
+                       $variantText = $this->renderInLanguage( $entityId, 
$propertyLabelOrId, $variantLanguage );
                        // LanguageConverter doesn't handle empty strings 
correctly, and it's more difficult
                        // to fix the issue there, as it's using empty string 
as a special value.
                        // Also keeping the ability to check a missing property 
with {{#if: }} is another reason.
@@ -147,7 +147,7 @@
                        return '';
                }
 
-               $rendered = $this->renderForEntityId( $parser, $itemId, 
$propertyLabel );
+               $rendered = $this->renderForEntityId( $parser, $itemId, 
$propertyLabelOrId );
                $result = $this->buildResult( $rendered );
 
                wfProfileOut( __METHOD__ );
@@ -161,19 +161,19 @@
         *
         * @return string
         */
-       private function renderForEntityId( Parser $parser, EntityId $entityId, 
$propertyLabel ) {
+       private function renderForEntityId( Parser $parser, EntityId $entityId, 
$propertyLabelOrId ) {
                $targetLanguage = $parser->getTargetLanguage();
 
                if ( $this->isParserUsingVariants( $parser ) && 
$parser->getConverterLanguage()->hasVariants() ) {
                        $renderedVariantsArray = $this->renderInVariants(
                                $entityId,
-                               $propertyLabel,
+                               $propertyLabelOrId,
                                $parser->getConverterLanguage()->getVariants()
                        );
 
                        return $this->processRenderedArray( 
$renderedVariantsArray );
                } else {
-                       return $this->renderInLanguage( $entityId, 
$propertyLabel, $targetLanguage );
+                       return $this->renderInLanguage( $entityId, 
$propertyLabelOrId, $targetLanguage );
                }
        }
 
@@ -209,15 +209,15 @@
         * @since 0.4
         *
         * @param Parser $parser
-        * @param string $propertyLabel property label or ID (pXXX)
+        * @param string $propertyLabelOrId property label or ID (pXXX)
         *
         * @return array
         */
-       public static function render( Parser $parser, $propertyLabel ) {
+       public static function render( Parser $parser, $propertyLabelOrId ) {
                wfProfileIn( __METHOD__ );
 
                $runner = 
WikibaseClient::getDefaultInstance()->getPropertyParserFunctionRunner();
-               $result = $runner->runPropertyParserFunction( $parser, 
$propertyLabel );
+               $result = $runner->runPropertyParserFunction( $parser, 
$propertyLabelOrId );
 
                wfProfileOut( __METHOD__ );
                return $result;
diff --git 
a/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php
 
b/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php
index 195ac86..41d5c5c 100644
--- 
a/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php
+++ 
b/client/tests/phpunit/includes/DataAccess/PropertyParserFunction/RunnerTest.php
@@ -32,17 +32,30 @@
 class RunnerTest extends \PHPUnit_Framework_TestCase {
 
        /**
-        * @param Parser $parser
         * @param Renderer $renderer
         *
         * @return Runner
         */
-       private function getRunner( Parser $parser, Renderer $renderer ) {
+       private function getRunner( Renderer $renderer ) {
                return new Runner(
                        $this->getRendererFactory( $renderer ),
                        $this->getSiteLinkLookup(),
                        'enwiki'
                );
+       }
+
+       public function testRunPropertyParserFunction() {
+               $runner = $this->getRunner( $this->getRenderer() );
+               $parser = $this->getParser( 'en' );
+
+               $expected = array(
+                       'meow!',
+                       'noparse' => false,
+                       'nowiki' => false,
+               );
+
+               $result = $runner->runPropertyParserFunction( $parser, 'Cat' );
+               $this->assertEquals( $expected, $result );
        }
 
        /**
@@ -63,7 +76,7 @@
                $parser = $this->getParser( 'de' );
                $parser->startExternalParse( null, $parserOptions, $outputType 
);
 
-               $runner = $this->getRunner( $parser, $this->getRenderer() );
+               $runner = $this->getRunner( $this->getRenderer() );
 
                $this->assertEquals( $expected, $runner->isParserUsingVariants( 
$parser ) );
        }
@@ -87,7 +100,7 @@
                $parser = new Parser();
                $parserOptions = new ParserOptions();
                $parser->startExternalParse( null, $parserOptions, $outputType 
);
-               $runner = $this->getRunner( $parser, $this->getRenderer() );
+               $runner = $this->getRunner( $this->getRenderer() );
                $this->assertEquals( $expected, $runner->processRenderedArray( 
$textArray ) );
        }
 
@@ -104,10 +117,7 @@
        }
 
        public function testRenderInLanguage() {
-               $runner = $this->getRunner(
-                       $this->getParser( 'es' ),
-                       $this->getRenderer()
-               );
+               $runner = $this->getRunner( $this->getRenderer() );
 
                $language = Language::factory( 'he' );
                $result = $runner->renderInLanguage( new ItemId( 'Q3' ), 
'gato', $language );

-- 
To view, visit https://gerrit.wikimedia.org/r/148644
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I14adede8af4289d01427a5f68c15ad2b1b775163
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Aude <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to