X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2FRevisionStorageTest.php;h=8ed85fe550bf188539cdc8130e1be3ff0529e066;hb=89af348547bcde0c44868ea0902f1dc6054d2d74;hp=642ada20f2d9314d304c72cbea441efd7abd9ded;hpb=cf3221a3d5d6761bd43d2ad29619636055831ce1;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/RevisionStorageTest.php b/tests/phpunit/includes/RevisionStorageTest.php index 642ada20f2..8ed85fe550 100644 --- a/tests/phpunit/includes/RevisionStorageTest.php +++ b/tests/phpunit/includes/RevisionStorageTest.php @@ -22,6 +22,7 @@ class RevisionStorageTest extends MediaWikiTestCase { $this->tablesUsed = array_merge( $this->tablesUsed, [ 'page', 'revision', + 'ip_changes', 'text', 'recentchanges', @@ -48,7 +49,7 @@ class RevisionStorageTest extends MediaWikiTestCase { $wgNamespaceContentModels[12312] = 'DUMMY'; $wgContentHandlers['DUMMY'] = 'DummyContentHandlerForTesting'; - MWNamespace::getCanonicalNamespaces( true ); # reset namespace cache + MWNamespace::clearCaches(); $wgContLang->resetNamespaces(); # reset namespace cache if ( !$this->the_page ) { $this->the_page = $this->createPage( @@ -72,7 +73,7 @@ class RevisionStorageTest extends MediaWikiTestCase { unset( $wgNamespaceContentModels[12312] ); unset( $wgContentHandlers['DUMMY'] ); - MWNamespace::getCanonicalNamespaces( true ); # reset namespace cache + MWNamespace::clearCaches(); $wgContLang->resetNamespaces(); # reset namespace cache } @@ -145,8 +146,8 @@ class RevisionStorageTest extends MediaWikiTestCase { 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(); @@ -163,8 +164,8 @@ class RevisionStorageTest extends MediaWikiTestCase { 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(); @@ -187,8 +188,10 @@ class RevisionStorageTest extends MediaWikiTestCase { $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(); @@ -438,6 +441,25 @@ class RevisionStorageTest extends MediaWikiTestCase { $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