$store = new RevisionStore(
$services->getDBLoadBalancer(),
$services->getService( '_SqlBlobStore' ),
- $services->getMainWANObjectCache()
+ $services->getMainWANObjectCache(),
+ $services->getCommentStore()
);
$store->setContentHandlerUseDB( $this->getContentHandlerUseDB() );
$this->assertEquals( __METHOD__, $rev->getContent()->getNativeData() );
}
+ /**
+ * @covers Revision::newNullRevision
+ */
+ public function testNewNullRevision_badPage() {
+ $dbw = wfGetDB( DB_MASTER );
+ $rev = Revision::newNullRevision( $dbw, -1, 'a null revision', false );
+
+ $this->assertNull( $rev );
+ }
+
/**
* @covers Revision::insertOn
*/
}
/**
+ * @covers Revision::userWasLastToEdit
* @dataProvider provideUserWasLastToEdit
*/
public function testUserWasLastToEdit( $sinceIdx, $expectedLast ) {
public function provideGetContentHandler() {
// NOTE: we expect the help namespace to always contain wikitext
return [
- [ 'hello world', 'Help:Hello', null, null, 'WikitextContentHandler' ],
- [ 'hello world', 'User:hello/there.css', null, null, 'CssContentHandler' ],
- [ serialize( 'hello world' ), 'Dummy:Hello', null, null, 'DummyContentHandlerForTesting' ],
+ [ 'hello world', 'Help:Hello', null, null, WikitextContentHandler::class ],
+ [ 'hello world', 'User:hello/there.css', null, null, CssContentHandler::class ],
+ [ serialize( 'hello world' ), 'Dummy:Hello', null, null, DummyContentHandlerForTesting::class ],
];
}
$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