Merge "Skin: Make skins aware of their registered skin name"
[lhc/web/wiklou.git] / tests / phpunit / includes / api / ApiUsageExceptionTest.php
1 <?php
2
3 class ApiUsageExceptionTest extends MediaWikiTestCase {
4
5 public function testCreateWithStatusValue_CanGetAMessageObject() {
6 $messageKey = 'some-message-key';
7 $messageParameter = 'some-parameter';
8 $statusValue = new StatusValue();
9 $statusValue->fatal( $messageKey, $messageParameter );
10
11 $apiUsageException = new ApiUsageException( null, $statusValue );
12 /** @var \Message $gotMessage */
13 $gotMessage = $apiUsageException->getMessageObject();
14
15 $this->assertInstanceOf( \Message::class, $gotMessage );
16 $this->assertEquals( $messageKey, $gotMessage->getKey() );
17 $this->assertEquals( [ $messageParameter ], $gotMessage->getParams() );
18 }
19
20 public function testNewWithMessage_ThenGetMessageObject_ReturnsApiMessageWithProvidedData() {
21 $expectedMessage = new Message( 'some-message-key', [ 'some message parameter' ] );
22 $expectedCode = 'some-error-code';
23 $expectedData = [ 'some-error-data' ];
24
25 $apiUsageException = ApiUsageException::newWithMessage(
26 null,
27 $expectedMessage,
28 $expectedCode,
29 $expectedData
30 );
31 /** @var \ApiMessage $gotMessage */
32 $gotMessage = $apiUsageException->getMessageObject();
33
34 $this->assertInstanceOf( \ApiMessage::class, $gotMessage );
35 $this->assertEquals( $expectedMessage->getKey(), $gotMessage->getKey() );
36 $this->assertEquals( $expectedMessage->getParams(), $gotMessage->getParams() );
37 $this->assertEquals( $expectedCode, $gotMessage->getApiCode() );
38 $this->assertEquals( $expectedData, $gotMessage->getApiData() );
39 }
40
41 }