UserTest: correctly reset fake time
authorStephane Bisson <sbisson@wikimedia.org>
Thu, 7 Mar 2019 21:18:22 +0000 (16:18 -0500)
committerStephane Bisson <sbisson@wikimedia.org>
Thu, 7 Mar 2019 21:18:22 +0000 (16:18 -0500)
Change-Id: I5fc64506781fbc40e81719aa03441643c38d4e54
Follows-Up: Ica3e6e7165496bdc9b8f12972cf93847ecfffa50
Bug: T216631

tests/phpunit/includes/user/UserTest.php

index dad7bf2..164b466 100644 (file)
@@ -1472,14 +1472,18 @@ class UserTest extends MediaWikiTestCase {
                MWTimestamp::setFakeTime( function () use ( &$clock ) {
                        return $clock += 1000;
                } );
-               $user = $this->getTestUser()->getUser();
-               $firstRevision = self::makeEdit( $user, 'Help:UserTest_GetEditTimestamp', 'one', 'test' );
-               $secondRevision = self::makeEdit( $user, 'Help:UserTest_GetEditTimestamp', 'two', 'test' );
-               // Sanity check: revisions timestamp are different
-               $this->assertNotEquals( $firstRevision->getTimestamp(), $secondRevision->getTimestamp() );
-
-               $this->assertEquals( $firstRevision->getTimestamp(), $user->getFirstEditTimestamp() );
-               $this->assertEquals( $secondRevision->getTimestamp(), $user->getLatestEditTimestamp() );
+               try {
+                       $user = $this->getTestUser()->getUser();
+                       $firstRevision = self::makeEdit( $user, 'Help:UserTest_GetEditTimestamp', 'one', 'test' );
+                       $secondRevision = self::makeEdit( $user, 'Help:UserTest_GetEditTimestamp', 'two', 'test' );
+                       // Sanity check: revisions timestamp are different
+                       $this->assertNotEquals( $firstRevision->getTimestamp(), $secondRevision->getTimestamp() );
+
+                       $this->assertEquals( $firstRevision->getTimestamp(), $user->getFirstEditTimestamp() );
+                       $this->assertEquals( $secondRevision->getTimestamp(), $user->getLatestEditTimestamp() );
+               } finally {
+                       MWTimestamp::setFakeTime( false );
+               }
        }
 
        /**