assertFalse( $httpError->isLoggable(), 'http error is not loggable' ); } public function testGetStatusCode() { $httpError = new HttpError( 500, 'server error!' ); $this->assertEquals( 500, $httpError->getStatusCode() ); } /** * @dataProvider getHtmlProvider */ public function testGetHtml( array $expected, $content, $header ) { $httpError = new HttpError( 500, $content, $header ); $errorHtml = $httpError->getHTML(); foreach ( $expected as $key => $html ) { $this->assertStringContainsString( $html, $errorHtml, $key ); } } public function getHtmlProvider() { // Avoid parsing logic in real Message class which includes text transformations // that require MediaWikiServices $content = $this->createMock( Message::class ); $content->method( 'escaped' )->willReturn( 'suspicious-userlogout' ); $header = $this->createMock( Message::class ); $header->method( 'escaped' )->willReturn( 'loginerror' ); return [ [ [ 'head html' => '
a server error!
' ], 'a server error!', 'Server Error 123' ], [ [ 'head html' => 'suspicious-userlogout
' ], $content, $header ], [ [ 'head html' => 'a server error!
' ], 'a server error!', null ] ]; } }