summaryrefslogtreecommitdiff
path: root/tests/phpunit/includes/deferred/DeferredUpdatesTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/phpunit/includes/deferred/DeferredUpdatesTest.php')
-rw-r--r--tests/phpunit/includes/deferred/DeferredUpdatesTest.php37
1 files changed, 36 insertions, 1 deletions
diff --git a/tests/phpunit/includes/deferred/DeferredUpdatesTest.php b/tests/phpunit/includes/deferred/DeferredUpdatesTest.php
index 5348c854..df4213ab 100644
--- a/tests/phpunit/includes/deferred/DeferredUpdatesTest.php
+++ b/tests/phpunit/includes/deferred/DeferredUpdatesTest.php
@@ -1,8 +1,9 @@
<?php
class DeferredUpdatesTest extends MediaWikiTestCase {
+ public function testDoUpdatesWeb() {
+ $this->setMwGlobals( 'wgCommandLineMode', false );
- public function testDoUpdates() {
$updates = array(
'1' => 'deferred update 1',
'2' => 'deferred update 2',
@@ -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();
+ }
}