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

Reply via email to