$this->tablesUsed = array_merge( $this->tablesUsed,
[ 'page',
'revision',
+ 'ip_changes',
'text',
'recentchanges',
public function testConstructFromRow() {
$orig = $this->makeRevision();
- $dbr = wfGetDB( DB_SLAVE );
- $res = $dbr->select( 'revision', '*', [ 'rev_id' => $orig->getId() ] );
+ $dbr = wfGetDB( DB_REPLICA );
+ $res = $dbr->select( 'revision', Revision::selectFields(), [ 'rev_id' => $orig->getId() ] );
$this->assertTrue( is_object( $res ), 'query failed' );
$row = $res->fetchObject();
public function testNewFromRow() {
$orig = $this->makeRevision();
- $dbr = wfGetDB( DB_SLAVE );
- $res = $dbr->select( 'revision', '*', [ 'rev_id' => $orig->getId() ] );
+ $dbr = wfGetDB( DB_REPLICA );
+ $res = $dbr->select( 'revision', Revision::selectFields(), [ 'rev_id' => $orig->getId() ] );
$this->assertTrue( is_object( $res ), 'query failed' );
$row = $res->fetchObject();
$orig = $page->getRevision();
$page->doDeleteArticle( 'test Revision::newFromArchiveRow' );
- $dbr = wfGetDB( DB_SLAVE );
- $res = $dbr->select( 'archive', '*', [ 'ar_rev_id' => $orig->getId() ] );
+ $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();
$this->assertEquals( $page->getId(), $rev->getPage() );
}
- /**
- * @covers Revision::getText
- */
- public function testGetText() {
- $this->hideDeprecated( 'Revision::getText' );
-
- $orig = $this->makeRevision( [ 'text' => 'hello hello.' ] );
- $rev = Revision::newFromId( $orig->getId() );
-
- $this->assertEquals( 'hello hello.', $rev->getText() );
- }
-
/**
* @covers Revision::getContent
*/
$this->assertEquals( 'some testing text', $rev->getContent()->getNativeData() );
}
+ /**
+ * @covers Revision::insertOn
+ */
+ public function testInsertOn() {
+ $ip = '2600:387:ed7:947e:8c16:a1ad:dd34:1dd7';
+
+ $orig = $this->makeRevision( [
+ 'user_text' => $ip
+ ] );
+
+ // Make sure the revision was copied to ip_changes
+ $dbr = wfGetDB( DB_REPLICA );
+ $res = $dbr->select( 'ip_changes', '*', [ 'ipc_rev_id' => $orig->getId() ] );
+ $row = $res->fetchObject();
+
+ $this->assertEquals( IP::toHex( $ip ), $row->ipc_hex );
+ $this->assertEquals( $orig->getTimestamp(), $row->ipc_rev_timestamp );
+ }
+
public static function provideUserWasLastToEdit() {
return [
[ # 0