diff options
Diffstat (limited to 'tests/phpunit/includes/exception/ThrottledErrorTest.php')
-rw-r--r-- | tests/phpunit/includes/exception/ThrottledErrorTest.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/phpunit/includes/exception/ThrottledErrorTest.php b/tests/phpunit/includes/exception/ThrottledErrorTest.php new file mode 100644 index 00000000..bdb143fa --- /dev/null +++ b/tests/phpunit/includes/exception/ThrottledErrorTest.php @@ -0,0 +1,44 @@ +<?php + +/** + * @covers ThrottledError + * @author Adam Shorland + */ +class ThrottledErrorTest extends MediaWikiTestCase { + + protected $wgOut; + + protected function setUp() { + parent::setUp(); + global $wgOut; + $this->wgOut = clone $wgOut; + } + + protected function tearDown() { + parent::tearDown(); + global $wgOut; + $wgOut = $this->wgOut; + } + + public function testExceptionSetsStatusCode() { + global $wgOut; + $wgOut = $this->getMockWgOut(); + try { + throw new ThrottledError(); + } catch ( ThrottledError $e ) { + $e->report(); + $this->assertTrue( true ); + } + } + + private function getMockWgOut() { + $mock = $this->getMockBuilder( 'OutputPage' ) + ->disableOriginalConstructor() + ->getMock(); + $mock->expects( $this->once() ) + ->method( 'setStatusCode' ) + ->with( 429 ); + return $mock; + } + +} |