X-Git-Url: https://git.cyclocoop.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2FRevisionDbTestBase.php;h=7501167ebf40b114d508c4a1227e8bd9efba95bb;hb=7f90d1e3a35bbbe91852c7692db826abad4b4f4a;hp=983b701923619a780548a5896eda5b1d6f06c66e;hpb=424515074966148dbe71b82bc1399b243ff61d5a;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/RevisionDbTestBase.php b/tests/phpunit/includes/RevisionDbTestBase.php index 983b701923..7501167ebf 100644 --- a/tests/phpunit/includes/RevisionDbTestBase.php +++ b/tests/phpunit/includes/RevisionDbTestBase.php @@ -91,7 +91,7 @@ abstract class RevisionDbTestBase extends MediaWikiTestCase { $this->setMwGlobals( [ 'wgMultiContentRevisionSchemaMigrationStage' => $this->getMcrMigrationStage(), 'wgContentHandlerUseDB' => $this->getContentHandlerUseDB(), - 'wgActorTableSchemaMigrationStage' => SCHEMA_COMPAT_OLD, + 'wgActorTableSchemaMigrationStage' => SCHEMA_COMPAT_NEW, ] ); $this->overrideMwServices(); @@ -182,7 +182,8 @@ abstract class RevisionDbTestBase extends MediaWikiTestCase { ( $model === null || $model === CONTENT_MODEL_WIKITEXT ) ) { $ns = $this->getDefaultWikitextNS(); - $titleString = MWNamespace::getCanonicalName( $ns ) . ':' . $titleString; + $titleString = MediaWikiServices::getInstance()->getNamespaceInfo()-> + getCanonicalName( $ns ) . ':' . $titleString; } $title = Title::newFromText( $titleString ); @@ -625,6 +626,34 @@ abstract class RevisionDbTestBase extends MediaWikiTestCase { $this->assertEquals( $latestRevision, $newRevision->getPrevious()->getId() ); } + /** + * @covers Title::getPreviousRevisionID + * @covers Title::getRelativeRevisionID + * @covers MediaWiki\Revision\RevisionStore::getPreviousRevision + * @covers MediaWiki\Revision\RevisionStore::getRelativeRevision + */ + public function testTitleGetPreviousRevisionID() { + $oldestId = $this->testPage->getOldestRevision()->getId(); + $latestId = $this->testPage->getLatest(); + + $title = $this->testPage->getTitle(); + + $this->assertFalse( $title->getPreviousRevisionID( $oldestId ) ); + + $this->testPage->doEditContent( new WikitextContent( __METHOD__ ), __METHOD__ ); + $newId = $this->testPage->getRevision()->getId(); + + $this->assertEquals( $latestId, $title->getPreviousRevisionID( $newId ) ); + } + + /** + * @covers Title::getPreviousRevisionID + * @covers Title::getRelativeRevisionID + */ + public function testTitleGetPreviousRevisionID_invalid() { + $this->assertFalse( $this->testPage->getTitle()->getPreviousRevisionID( 123456789 ) ); + } + /** * @covers Revision::getNext */ @@ -640,6 +669,33 @@ abstract class RevisionDbTestBase extends MediaWikiTestCase { $this->assertEquals( $rev2->getId(), $rev1->getNext()->getId() ); } + /** + * @covers Title::getNextRevisionID + * @covers Title::getRelativeRevisionID + * @covers MediaWiki\Revision\RevisionStore::getNextRevision + * @covers MediaWiki\Revision\RevisionStore::getRelativeRevision + */ + public function testTitleGetNextRevisionID() { + $title = $this->testPage->getTitle(); + + $origId = $this->testPage->getLatest(); + + $this->assertFalse( $title->getNextRevisionID( $origId ) ); + + $this->testPage->doEditContent( new WikitextContent( __METHOD__ ), __METHOD__ ); + $newId = $this->testPage->getLatest(); + + $this->assertSame( $this->testPage->getLatest(), $title->getNextRevisionID( $origId ) ); + } + + /** + * @covers Title::getNextRevisionID + * @covers Title::getRelativeRevisionID + */ + public function testTitleGetNextRevisionID_invalid() { + $this->assertFalse( $this->testPage->getTitle()->getNextRevisionID( 123456789 ) ); + } + /** * @covers Revision::newNullRevision */