wiki.techinc.nl/tests/phpunit/includes/exception/ThrottledErrorTest.php
Bartosz Dziewoński 825bf602a5 Deprecate error printing in MWException
It's now deprecated to use the individual error printing functions in
MWException or to override them. Printing MWException now works the
same as any other exception, and happens in MWExceptionRenderer.

It's still allowed to override MWException::report() to replace the
entire error page, for example in ErrorPageError.

Bug: T353444
Change-Id: I66d896f6f229b90e6ba9949311b56a6b6ab3da3d
2024-01-10 16:38:43 +01:00

29 lines
680 B
PHP

<?php
use MediaWiki\Output\OutputPage;
/**
* @covers ThrottledError
* @author Addshore
*/
class ThrottledErrorTest extends MediaWikiIntegrationTestCase {
public function testExceptionSetsStatusCode() {
$mockOut = $this->createMock( OutputPage::class );
$mockOut->expects( $this->once() )
->method( 'setStatusCode' )
->with( 429 );
$this->setMwGlobals( 'wgOut', $mockOut );
try {
throw new ThrottledError();
} catch ( ThrottledError $e ) {
ob_start();
$e->report();
$text = ob_get_clean();
$this->expectDeprecationAndContinue( '/MWException::getText was deprecated/' );
$this->assertStringContainsString( $e->getText(), $text );
}
}
}