[MediaWiki-commits] [Gerrit] mediawiki...ProofreadPage[master]: Guess Page: pages content format if not given

2017-11-12 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/371208 )

Change subject: Guess Page: pages content format if not given
..


Guess Page: pages content format if not given

Change-Id: Ia6082626231da5894e8164a3012f9eade7ceb3b5
---
M includes/page/PageContentHandler.php
M tests/phpunit/page/PageContentHandlerTest.php
2 files changed, 13 insertions(+), 3 deletions(-)

Approvals:
  jenkins-bot: Verified
  Tpt: Looks good to me, approved



diff --git a/includes/page/PageContentHandler.php 
b/includes/page/PageContentHandler.php
index d86cf58..901de41 100644
--- a/includes/page/PageContentHandler.php
+++ b/includes/page/PageContentHandler.php
@@ -6,6 +6,7 @@
 use ContentHandler;
 use FormatJson;
 use MWContentSerializationException;
+use MWException;
 use TextContentHandler;
 use Title;
 use User;
@@ -87,19 +88,28 @@
 * @see ContentHandler::unserializeContent
 */
public function unserializeContent( $text, $format = null ) {
-   $this->checkFormat( $format );
+   if ( $format === null ) {
+   $format = ( FormatJson::decode( $text, true ) === null )
+   ? CONTENT_FORMAT_WIKITEXT
+   : CONTENT_FORMAT_JSON;
+   }
 
switch ( $format ) {
case CONTENT_FORMAT_JSON:
return $this->unserializeContentInJson( $text );
-   default:
+   case CONTENT_FORMAT_WIKITEXT:
return $this->unserializeContentInWikitext( 
$text );
+   default:
+   throw new MWException(
+   "Format ' . $format . ' is not 
supported for content model " . $this->getModelID()
+   );
}
}
 
/**
 * @param string $text
 * @return PageContent
+* @throws MWContentSerializationException
 */
private function unserializeContentInJson( $text ) {
$array = FormatJson::decode( $text, true );
diff --git a/tests/phpunit/page/PageContentHandlerTest.php 
b/tests/phpunit/page/PageContentHandlerTest.php
index bd4cccb..f29eca8 100644
--- a/tests/phpunit/page/PageContentHandlerTest.php
+++ b/tests/phpunit/page/PageContentHandlerTest.php
@@ -196,7 +196,7 @@
) {
$this->assertEquals(
PageContentTest::newContent( $header, $body, $footer, 
$level, $proofreader ),
-   $this->handler->unserializeContent( $text, 
CONTENT_FORMAT_JSON )
+   $this->handler->unserializeContent( $text )
);
}
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia6082626231da5894e8164a3012f9eade7ceb3b5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/ProofreadPage
Gerrit-Branch: master
Gerrit-Owner: Tpt 
Gerrit-Reviewer: Jforrester 
Gerrit-Reviewer: Tpt 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] mediawiki...ProofreadPage[master]: Guess Page: pages content format if not given

2017-08-10 Thread Tpt (Code Review)
Tpt has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/371208 )

Change subject: Guess Page: pages content format if not given
..

Guess Page: pages content format if not given

Change-Id: Ia6082626231da5894e8164a3012f9eade7ceb3b5
---
M includes/page/PageContentHandler.php
M tests/phpunit/page/PageContentHandlerTest.php
2 files changed, 13 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/ProofreadPage 
refs/changes/08/371208/1

diff --git a/includes/page/PageContentHandler.php 
b/includes/page/PageContentHandler.php
index d86cf58..901de41 100644
--- a/includes/page/PageContentHandler.php
+++ b/includes/page/PageContentHandler.php
@@ -6,6 +6,7 @@
 use ContentHandler;
 use FormatJson;
 use MWContentSerializationException;
+use MWException;
 use TextContentHandler;
 use Title;
 use User;
@@ -87,19 +88,28 @@
 * @see ContentHandler::unserializeContent
 */
public function unserializeContent( $text, $format = null ) {
-   $this->checkFormat( $format );
+   if ( $format === null ) {
+   $format = ( FormatJson::decode( $text, true ) === null )
+   ? CONTENT_FORMAT_WIKITEXT
+   : CONTENT_FORMAT_JSON;
+   }
 
switch ( $format ) {
case CONTENT_FORMAT_JSON:
return $this->unserializeContentInJson( $text );
-   default:
+   case CONTENT_FORMAT_WIKITEXT:
return $this->unserializeContentInWikitext( 
$text );
+   default:
+   throw new MWException(
+   "Format ' . $format . ' is not 
supported for content model " . $this->getModelID()
+   );
}
}
 
/**
 * @param string $text
 * @return PageContent
+* @throws MWContentSerializationException
 */
private function unserializeContentInJson( $text ) {
$array = FormatJson::decode( $text, true );
diff --git a/tests/phpunit/page/PageContentHandlerTest.php 
b/tests/phpunit/page/PageContentHandlerTest.php
index bd4cccb..f29eca8 100644
--- a/tests/phpunit/page/PageContentHandlerTest.php
+++ b/tests/phpunit/page/PageContentHandlerTest.php
@@ -196,7 +196,7 @@
) {
$this->assertEquals(
PageContentTest::newContent( $header, $body, $footer, 
$level, $proofreader ),
-   $this->handler->unserializeContent( $text, 
CONTENT_FORMAT_JSON )
+   $this->handler->unserializeContent( $text )
);
}
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia6082626231da5894e8164a3012f9eade7ceb3b5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/ProofreadPage
Gerrit-Branch: master
Gerrit-Owner: Tpt 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits