+ /**
+ * @covers Revision::newFromArchiveRow
+ */
+ public function testNewFromArchiveRowOverrides() {
+ $page = $this->createPage(
+ 'RevisionStorageTest_testNewFromArchiveRow',
+ 'Lorem Ipsum',
+ CONTENT_MODEL_WIKITEXT
+ );
+ $orig = $page->getRevision();
+ $page->doDeleteArticle( 'test Revision::newFromArchiveRow' );
+
+ $dbr = wfGetDB( DB_REPLICA );
+ $res = $dbr->select(
+ 'archive', Revision::selectArchiveFields(), [ 'ar_rev_id' => $orig->getId() ]
+ );
+ $this->assertTrue( is_object( $res ), 'query failed' );
+
+ $row = $res->fetchObject();
+ $res->free();
+
+ $rev = Revision::newFromArchiveRow( $row, [ 'comment' => 'SOMEOVERRIDE' ] );
+
+ $this->assertNotEquals( $orig->getComment(), $rev->getComment() );
+ $this->assertEquals( 'SOMEOVERRIDE', $rev->getComment() );
+ }
+