wiki.techinc.nl/tests/phpunit/includes/debug/MWDebugTest.php
Antoine Musso 3ceb767b83 MWDebugTest: clear log before running tests
Some other test could have added their own logs, for example
deprecated notice. In that case, the first test will fail because
the log array already has some content :-b
2012-01-18 15:58:25 +00:00

63 lines
1.5 KiB
PHP

<?php
class MWDebugTest extends MediaWikiTestCase {
function setUp() {
// Make sure MWDebug class is enabled
static $MWDebugEnabled = false;
if( !$MWDebugEnabled ) {
MWDebug::init();
$MWDebugEnabled = true;
}
/** Clear log before each test */
MWDebug::clearLog();
}
function testAddLog() {
MWDebug::log( 'logging a string' );
$this->assertEquals( array( array(
'msg' => 'logging a string',
'type' => 'log',
'caller' => __METHOD__ ,
) ),
MWDebug::getLog()
);
}
function testAddWarning() {
MWDebug::warning( 'Warning message' );
$this->assertEquals( array( array(
'msg' => 'Warning message',
'type' => 'warn',
'caller' => 'MWDebug::warning',
) ),
MWDebug::getLog()
);
}
function testAvoidDuplicateDeprecations() {
MWDebug::deprecated( 'wfOldFunction', '1.0', 'component' );
MWDebug::deprecated( 'wfOldFunction', '1.0', 'component' );
// assertCount() not available on WMF integration server
$this->assertEquals( 1,
count( MWDebug::getLog() ),
"Only one deprecated warning per function should be kept"
);
}
function testAvoidNonConsecutivesDuplicateDeprecations() {
MWDebug::deprecated( 'wfOldFunction', '1.0', 'component' );
MWDebug::warning( 'some warning' );
MWDebug::log( 'we could have logged something too' );
// Another deprecation
MWDebug::deprecated( 'wfOldFunction', '1.0', 'component' );
// assertCount() not available on WMF integration server
$this->assertEquals( 3,
count( MWDebug::getLog() ),
"Only one deprecated warning per function should be kept"
);
}
}