Mwjames has uploaded a new change for review. https://gerrit.wikimedia.org/r/52034
Change subject: SMW\DISerializer export formatting relevant info ...................................................................... SMW\DISerializer export formatting relevant info Make getOutputFormat() available and enable printRequest related formatting [1]. [1] http://www.semantic-mediawiki.org/wiki/Help:Displaying_information Change-Id: I44a563d28f5f61b36ef384ba3a377e5442fd7e3c --- M includes/dataitems/DISerializer.php M tests/phpunit/includes/dataitems/DISerializerTest.php 2 files changed, 44 insertions(+), 14 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/SemanticMediaWiki refs/changes/34/52034/1 diff --git a/includes/dataitems/DISerializer.php b/includes/dataitems/DISerializer.php index ec84b64..ed54035 100644 --- a/includes/dataitems/DISerializer.php +++ b/includes/dataitems/DISerializer.php @@ -107,6 +107,7 @@ 'label' => $printRequest->getLabel(), 'typeid' => $printRequest->getTypeID(), 'mode' => $printRequest->getMode(), + 'format' => $printRequest->getOutputFormat() ); } diff --git a/tests/phpunit/includes/dataitems/DISerializerTest.php b/tests/phpunit/includes/dataitems/DISerializerTest.php index 26ef0be..bded60e 100644 --- a/tests/phpunit/includes/dataitems/DISerializerTest.php +++ b/tests/phpunit/includes/dataitems/DISerializerTest.php @@ -37,6 +37,36 @@ class DISerializerTest extends \MediaWikiTestCase { /** + * DataProvider + * + * @return array + */ + public function getDataProvider() { + return array( + array( + // Query + array( 'query' => '[[Modification date::+]]|?Modification date|limit=10' ), + // Expected + array( + array( 'label'=> '', 'typeid' => '_wpg', 'mode' => 2, 'format' => false ), + array( 'label'=> 'Modification date', 'typeid' => '_dat', 'mode' => 1, 'format' => '' ) + ) + ), + + // Append printrequest formatting + array( + // Query + array( 'query' => '[[Modification date::+]]|?Modification date#ISO|limit=10' ), + // Expected + array( + array( 'label'=> '', 'typeid' => '_wpg', 'mode' => 2, 'format' => false ), + array( 'label'=> 'Modification date', 'typeid' => '_dat', 'mode' => 1, 'format' => 'ISO' ) + ) + ), + ); + } + + /** * Helper function to build a query * */ @@ -65,32 +95,31 @@ } /** - * @covers DISerializer::getSerializedQueryResult - * @covers SMWQueryResult::toArray + * Test standard query result serialization * * @since 1.9 + * + * @covers DISerializer::getSerializedQueryResult + * @covers SMWQueryResult::toArray + * @dataProvider getDataProvider */ - public function testSerializedQueryResult( ) { + public function testSerializedQueryResult( array $setup, array $expected ) { - $query = '[[Modification date::+]]|?Modification date|limit=10'; - - $queryResult = $this->getQueryResult( $query ); + $queryResult = $this->getQueryResult( $setup['query'] ); $this->assertInstanceOf( '\SMWQueryResult', $queryResult ); + // Use static method $results = DISerializer::getSerializedQueryResult( $queryResult ); $this->assertTrue( is_array( $results ) ); - $printrequests[0] = array( 'label'=> '', 'typeid' => '_wpg', 'mode' => 2 ); - $printrequests[1] = array( 'label'=> 'Modification date', 'typeid' => '_dat', 'mode' => 1 ); + $this->assertEquals( $expected[0], $results['printrequests'][0] ); + $this->assertEquals( $expected[1], $results['printrequests'][1] ); - $this->assertEquals( $results['printrequests'][0], $printrequests[0] ); - $this->assertEquals( $results['printrequests'][1], $printrequests[1] ); - + // Use invoked queryResult method $queryResultToArray = $queryResult->toArray(); - $this->assertEquals( $queryResultToArray['printrequests'][0], $printrequests[0] ); - $this->assertEquals( $queryResultToArray['printrequests'][1], $printrequests[1] ); - + $this->assertEquals( $expected[0], $results['printrequests'][0] ); + $this->assertEquals( $expected[1], $results['printrequests'][1] ); } /** -- To view, visit https://gerrit.wikimedia.org/r/52034 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I44a563d28f5f61b36ef384ba3a377e5442fd7e3c Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/SemanticMediaWiki Gerrit-Branch: master Gerrit-Owner: Mwjames <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
