Replace uses of join() by implode()
[lhc/web/wiklou.git] / tests / phpunit / includes / deferred / DeferredUpdatesTest.php
index df4213a..ecc67b7 100644 (file)
@@ -4,12 +4,12 @@ class DeferredUpdatesTest extends MediaWikiTestCase {
        public function testDoUpdatesWeb() {
                $this->setMwGlobals( 'wgCommandLineMode', false );
 
-               $updates = array(
+               $updates = [
                        '1' => 'deferred update 1',
                        '2' => 'deferred update 2',
                        '3' => 'deferred update 3',
                        '2-1' => 'deferred update 1 within deferred update 2',
-               );
+               ];
                DeferredUpdates::addCallableUpdate(
                        function () use ( $updates ) {
                                echo $updates['1'];
@@ -34,17 +34,42 @@ class DeferredUpdatesTest extends MediaWikiTestCase {
                $this->expectOutputString( implode( '', $updates ) );
 
                DeferredUpdates::doUpdates();
+
+               $x = null;
+               $y = null;
+               DeferredUpdates::addCallableUpdate(
+                       function () use ( &$x ) {
+                               $x = 'Sherity';
+                       },
+                       DeferredUpdates::PRESEND
+               );
+               DeferredUpdates::addCallableUpdate(
+                       function () use ( &$y ) {
+                               $y = 'Marychu';
+                       },
+                       DeferredUpdates::POSTSEND
+               );
+
+               $this->assertNull( $x, "Update not run yet" );
+               $this->assertNull( $y, "Update not run yet" );
+
+               DeferredUpdates::doUpdates( 'run', DeferredUpdates::PRESEND );
+               $this->assertEquals( "Sherity", $x, "PRESEND update ran" );
+               $this->assertNull( $y, "POSTSEND update not run yet" );
+
+               DeferredUpdates::doUpdates( 'run', DeferredUpdates::POSTSEND );
+               $this->assertEquals( "Marychu", $y, "POSTSEND update ran" );
        }
 
        public function testDoUpdatesCLI() {
                $this->setMwGlobals( 'wgCommandLineMode', true );
 
-               $updates = array(
+               $updates = [
                        '1' => 'deferred update 1',
                        '2' => 'deferred update 2',
                        '2-1' => 'deferred update 1 within deferred update 2',
                        '3' => 'deferred update 3',
-               );
+               ];
                DeferredUpdates::addCallableUpdate(
                        function () use ( $updates ) {
                                echo $updates['1'];