Remove use of the Revision object returned in WikiPage::doEditContent

Each file's changes are independent and can be reviewed separately

Bug: T251853
Bug: T254952
Change-Id: I197c3db4cfb2ead920c8e6071120ae29543ee404
This commit is contained in:
DannyS712 2020-06-09 23:20:52 +00:00
parent 4e2897575a
commit e36fc3a8dd
4 changed files with 19 additions and 16 deletions

View file

@ -23,6 +23,7 @@
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use MediaWiki\Revision\RevisionRecord;
use Wikimedia\AtEase\AtEase;
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\IDatabase;
@ -1706,18 +1707,18 @@ class LocalFile extends File {
$user
);
if ( isset( $status->value['revision'] ) ) {
/** @var Revision $rev */
$rev = $status->value['revision'];
if ( isset( $status->value['revision-record'] ) ) {
/** @var RevisionRecord $revRecord */
$revRecord = $status->value['revision-record'];
// Associate new page revision id
$logEntry->setAssociatedRevId( $rev->getId() );
$logEntry->setAssociatedRevId( $revRecord->getId() );
}
// This relies on the resetArticleID() call in WikiPage::insertOn(),
// which is triggered on $descTitle by doEditContent() above.
if ( isset( $status->value['revision'] ) ) {
/** @var Revision $rev */
$rev = $status->value['revision'];
$updateLogPage = $rev->getPage();
if ( isset( $status->value['revision-record'] ) ) {
/** @var RevisionRecord $revRecord */
$revRecord = $status->value['revision-record'];
$updateLogPage = $revRecord->getPageId();
}
} else {
# Existing file page: invalidate description page cache

View file

@ -22,7 +22,7 @@ class ApiComparePagesTest extends ApiTestCase {
if ( !$status->isOK() ) {
$this->fail( "Failed to create $title: " . $status->getWikiText( false, false, 'en' ) );
}
return $status->value['revision']->getId();
return $status->value['revision-record']->getId();
}
public function addDBDataOnce() {

View file

@ -1,5 +1,7 @@
<?php
use MediaWiki\Revision\RevisionRecord;
/**
* @covers CategoryMembershipChangeJob
*
@ -48,11 +50,11 @@ class CategoryMembershipChangeJobTest extends MediaWikiTestCase {
ContentHandler::makeContent( $text, $this->title ),
__METHOD__
);
/** @var Revision $revision */
$revision = $editResult->value['revision'];
/** @var RevisionRecord $revisionRecord */
$revisionRecord = $editResult->value['revision-record'];
$this->runJobs();
return $revision->getId();
return $revisionRecord->getId();
}
/**

View file

@ -364,8 +364,8 @@ class PageArchiveTest extends MediaWikiTestCase {
$user = $this->getTestUser()->getUser();
$status = $page->doEditContent( $content, 'testing', EDIT_NEW, false, $user );
/** @var Revision $newRev */
$newRev = $status->value['revision'];
/** @var RevisionRecord $newRevRecord */
$newRevRecord = $status->value['revision-record'];
// force the revision timestamp
$newTimestamp = wfTimestamp(
@ -376,7 +376,7 @@ class PageArchiveTest extends MediaWikiTestCase {
$this->db->update(
'revision',
[ 'rev_timestamp' => $this->db->timestamp( $newTimestamp ) ],
[ 'rev_id' => $newRev->getId() ]
[ 'rev_id' => $newRevRecord->getId() ]
);
// check that we don't get the existing revision too soon.
@ -392,7 +392,7 @@ class PageArchiveTest extends MediaWikiTestCase {
$rev = $this->archivedPage->getPreviousRevision( $afterNewTimestamp );
$this->assertNotNull( $rev );
$this->assertSame( $newRev->getId(), $rev->getId() );
$this->assertSame( $newRevRecord->getId(), $rev->getId() );
}
}