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