[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Revision: Handle all return values of Title::newFromId

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

Change subject: Revision: Handle all return values of Title::newFromId
..


Revision: Handle all return values of Title::newFromId

In Revision::getKnownCurrent, fail early when Title::newFromId returns
null to avoid an uncatchable fatal error being triggered.

RevisionStore#getKnownCurrentRevision requires that the title parameter
be an instance of Title.

This follows on from Ia4c20a91.

Change-Id: I9bddafcc5df630d1dff1e2526194186cab7097e5
---
M includes/Revision.php
M tests/phpunit/includes/RevisionDbTestBase.php
2 files changed, 22 insertions(+), 0 deletions(-)

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



diff --git a/includes/Revision.php b/includes/Revision.php
index 8f36e88..b8b56a3 100644
--- a/includes/Revision.php
+++ b/includes/Revision.php
@@ -1204,6 +1204,10 @@
? $pageIdOrTitle
: Title::newFromID( $pageIdOrTitle );
 
+   if ( !$title ) {
+   return false;
+   }
+
$record = self::getRevisionStore()->getKnownCurrentRevision( 
$title, $revId );
return $record ? new Revision( $record ) : false;
}
diff --git a/tests/phpunit/includes/RevisionDbTestBase.php 
b/tests/phpunit/includes/RevisionDbTestBase.php
index 9ab76c8..bd0dea6 100644
--- a/tests/phpunit/includes/RevisionDbTestBase.php
+++ b/tests/phpunit/includes/RevisionDbTestBase.php
@@ -1363,6 +1363,24 @@
$this->assertEquals( $rev->getId(), $cachedRow->rev_id );
}
 
+   public function testNewKnownCurrent_withPageId() {
+   $db = wfGetDB( DB_MASTER );
+
+   $this->testPage->doEditContent( new WikitextContent( __METHOD__ 
), __METHOD__ );
+   $rev = $this->testPage->getRevision();
+
+   $pageId = $this->testPage->getId();
+
+   $newRev = Revision::newKnownCurrent( $db, $pageId, 
$rev->getId() );
+   $this->assertRevEquals( $rev, $newRev );
+   }
+
+   public function testNewKnownCurrent_returnsFalseWhenTitleDoesntExist() {
+   $db = wfGetDB( DB_MASTER );
+
+   $this->assertFalse( Revision::newKnownCurrent( $db, 0 ) );
+   }
+
public function provideUserCanBitfield() {
yield [ 0, 0, [], null, true ];
// Bitfields match, user has no permissions

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I9bddafcc5df630d1dff1e2526194186cab7097e5
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Phuedx 
Gerrit-Reviewer: Addshore 
Gerrit-Reviewer: Daniel Kinzler 
Gerrit-Reviewer: Florianschmidtwelzow 
Gerrit-Reviewer: Phuedx 
Gerrit-Reviewer: Thiemo Kreuz (WMDE) 
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/core[master]: Revision: Handle all return values of Title::newFromId

2017-12-27 Thread Phuedx (Code Review)
Phuedx has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/400408 )

Change subject: Revision: Handle all return values of Title::newFromId
..

Revision: Handle all return values of Title::newFromId

In Revision::getKnownCurrent, fail early when Title::newFromId returns
null to avoid an uncatchable fatal error being triggered.

RevisionStore#getKnownCurrentRevision requires that the title parameter
be an instance of Title.

This follows on from Ia4c20a91.

Change-Id: I9bddafcc5df630d1dff1e2526194186cab7097e5
---
M includes/Revision.php
1 file changed, 4 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/08/400408/1

diff --git a/includes/Revision.php b/includes/Revision.php
index 8f36e88..b8b56a3 100644
--- a/includes/Revision.php
+++ b/includes/Revision.php
@@ -1204,6 +1204,10 @@
? $pageIdOrTitle
: Title::newFromID( $pageIdOrTitle );
 
+   if ( !$title ) {
+   return false;
+   }
+
$record = self::getRevisionStore()->getKnownCurrentRevision( 
$title, $revId );
return $record ? new Revision( $record ) : false;
}

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9bddafcc5df630d1dff1e2526194186cab7097e5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Phuedx 

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