X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Fchanges%2FRecentChangeTest.php;h=333eb28610f7732d2b78427d2be9f69756d8d166;hp=995c4be16b533eefb1255b9761b4f9a404c4e26c;hb=27c61fb1e94da9114314468fd00bcf129ec064b6;hpb=e968a1f431ad058dcb14adb2757bde5664b99a79 diff --git a/tests/phpunit/includes/changes/RecentChangeTest.php b/tests/phpunit/includes/changes/RecentChangeTest.php index 995c4be16b..333eb28610 100644 --- a/tests/phpunit/includes/changes/RecentChangeTest.php +++ b/tests/phpunit/includes/changes/RecentChangeTest.php @@ -27,17 +27,53 @@ class RecentChangeTest extends MediaWikiTestCase { * @covers RecentChange::loadFromRow */ public function testNewFromRow() { + $user = $this->getTestUser()->getUser(); + $actorId = $user->getActorId(); + + $row = new stdClass(); + $row->rc_foo = 'AAA'; + $row->rc_timestamp = '20150921134808'; + $row->rc_deleted = 'bar'; + $row->rc_comment_text = 'comment'; + $row->rc_comment_data = null; + $row->rc_user = $user->getId(); + + $rc = RecentChange::newFromRow( $row ); + + $expected = [ + 'rc_foo' => 'AAA', + 'rc_timestamp' => '20150921134808', + 'rc_deleted' => 'bar', + 'rc_comment' => 'comment', + 'rc_comment_text' => 'comment', + 'rc_comment_data' => null, + 'rc_user' => $user->getId(), + 'rc_user_text' => $user->getName(), + 'rc_actor' => $actorId, + ]; + $this->assertEquals( $expected, $rc->getAttributes() ); + $row = new stdClass(); $row->rc_foo = 'AAA'; $row->rc_timestamp = '20150921134808'; $row->rc_deleted = 'bar'; + $row->rc_comment = 'comment'; + $row->rc_user = $user->getId(); + Wikimedia\suppressWarnings(); $rc = RecentChange::newFromRow( $row ); + Wikimedia\restoreWarnings(); $expected = [ 'rc_foo' => 'AAA', 'rc_timestamp' => '20150921134808', 'rc_deleted' => 'bar', + 'rc_comment' => 'comment', + 'rc_comment_text' => 'comment', + 'rc_comment_data' => null, + 'rc_user' => $user->getId(), + 'rc_user_text' => $user->getName(), + 'rc_actor' => $actorId, ]; $this->assertEquals( $expected, $rc->getAttributes() ); } @@ -88,15 +124,14 @@ class RecentChangeTest extends MediaWikiTestCase { } /** - * 50 mins and 100 mins are used here as the tests never take that long! * @return array */ public function provideIsInRCLifespan() { return [ - [ 6000, time() - 3000, 0, true ], - [ 3000, time() - 6000, 0, false ], - [ 6000, time() - 3000, 6000, true ], - [ 3000, time() - 6000, 6000, true ], + [ 6000, -3000, 0, true ], + [ 3000, -6000, 0, false ], + [ 6000, -3000, 6000, true ], + [ 3000, -6000, 6000, true ], ]; } @@ -104,8 +139,12 @@ class RecentChangeTest extends MediaWikiTestCase { * @covers RecentChange::isInRCLifespan * @dataProvider provideIsInRCLifespan */ - public function testIsInRCLifespan( $maxAge, $timestamp, $tolerance, $expected ) { + public function testIsInRCLifespan( $maxAge, $offset, $tolerance, $expected ) { $this->setMwGlobals( 'wgRCMaxAge', $maxAge ); + // Calculate this here instead of the data provider because the provider + // is expanded early on and the full test suite may take longer than 100 minutes + // when coverage is enabled. + $timestamp = time() + $offset; $this->assertEquals( $expected, RecentChange::isInRCLifespan( $timestamp, $tolerance ) ); }