diff options
Diffstat (limited to 'www/wiki/tests/phpunit/includes/exception/ThrottledErrorTest.php')
-rw-r--r-- | www/wiki/tests/phpunit/includes/exception/ThrottledErrorTest.php | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/www/wiki/tests/phpunit/includes/exception/ThrottledErrorTest.php b/www/wiki/tests/phpunit/includes/exception/ThrottledErrorTest.php new file mode 100644 index 00000000..5214b6d4 --- /dev/null +++ b/www/wiki/tests/phpunit/includes/exception/ThrottledErrorTest.php @@ -0,0 +1,31 @@ +<?php + +/** + * @covers ThrottledError + * @author Addshore + */ +class ThrottledErrorTest extends MediaWikiTestCase { + + public function testExceptionSetsStatusCode() { + $this->setMwGlobals( 'wgOut', $this->getMockWgOut() ); + try { + throw new ThrottledError(); + } catch ( ThrottledError $e ) { + ob_start(); + $e->report(); + $text = ob_get_clean(); + $this->assertContains( $e->getText(), $text ); + } + } + + private function getMockWgOut() { + $mock = $this->getMockBuilder( OutputPage::class ) + ->disableOriginalConstructor() + ->getMock(); + $mock->expects( $this->once() ) + ->method( 'setStatusCode' ) + ->with( 429 ); + return $mock; + } + +} |