wiki.techinc.nl/tests/phpunit/includes/deferred/DeferredUpdatesTest.php
bsitu 70b012c595 Add support for adding deferred update within a deferred update
Under some configurations all Echo notifications are inserted
via a DeferredUpdate.  When an extension delays its own notification
trigger via DeferredUpdate as well the Echo notification will not
be run.

Change-Id: Ib40fcd4939ede5b0ff986ab109432630efd1be74
2014-08-20 22:13:11 +00:00

38 lines
803 B
PHP

<?php
class DeferredUpdatesTest extends MediaWikiTestCase {
public function testDoUpdates() {
$updates = array (
'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'];
}
);
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();
}
}