Merge "Allow constructing a Message from a MessageSpecifier"
[lhc/web/wiklou.git] / tests / phpunit / includes / deferred / DeferredUpdatesTest.php
index b3d57e7..df4213a 100644 (file)
@@ -1,9 +1,10 @@
 <?php
 
 class DeferredUpdatesTest extends MediaWikiTestCase {
+       public function testDoUpdatesWeb() {
+               $this->setMwGlobals( 'wgCommandLineMode', false );
 
-       public function testDoUpdates() {
-               $updates = array (
+               $updates = array(
                        '1' => 'deferred update 1',
                        '2' => 'deferred update 2',
                        '3' => 'deferred update 3',
@@ -18,7 +19,7 @@ class DeferredUpdatesTest extends MediaWikiTestCase {
                        function () use ( $updates ) {
                                echo $updates['2'];
                                DeferredUpdates::addCallableUpdate(
-                                       function() use ( $updates ) {
+                                       function () use ( $updates ) {
                                                echo $updates['2-1'];
                                        }
                                );
@@ -35,4 +36,38 @@ class DeferredUpdatesTest extends MediaWikiTestCase {
                DeferredUpdates::doUpdates();
        }
 
+       public function testDoUpdatesCLI() {
+               $this->setMwGlobals( 'wgCommandLineMode', true );
+
+               $updates = array(
+                       '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'];
+                       }
+               );
+               DeferredUpdates::addCallableUpdate(
+                       function () use ( $updates ) {
+                               echo $updates['2'];
+                               DeferredUpdates::addCallableUpdate(
+                                       function () use ( $updates ) {
+                                               echo $updates['2-1'];
+                                       }
+                               );
+                       }
+               );
+               DeferredUpdates::addCallableUpdate(
+                       function () use ( $updates ) {
+                               echo $updates[3];
+                       }
+               );
+
+               $this->expectOutputString( implode( '', $updates ) );
+
+               DeferredUpdates::doUpdates();
+       }
 }