/**
* @group API
*/
-class ApiErrorFormatterTest extends MediaWikiTestCase {
+class ApiErrorFormatterTest extends MediaWikiLangTestCase {
/**
* @covers ApiErrorFormatter
$result = new ApiResult( 8388608 );
$formatter = new ApiErrorFormatter( $result, Language::factory( $lang ), $format, $useDB );
+ // Add default type
+ $expect1[ApiResult::META_TYPE] = 'assoc';
+ $expect2[ApiResult::META_TYPE] = 'assoc';
+ $expect3[ApiResult::META_TYPE] = 'assoc';
+
$formatter->addWarning( 'string', 'mainpage' );
$formatter->addError( 'err', 'mainpage' );
$this->assertSame( $expect1, $result->getResultData(), 'Simple test' );
$result->reset();
$formatter->addWarning( 'foo', 'mainpage' );
$formatter->addWarning( 'foo', 'mainpage' );
- $formatter->addWarning( 'foo', array( 'parentheses', 'foobar' ) );
+ $formatter->addWarning( 'foo', [ 'parentheses', 'foobar' ] );
$msg1 = wfMessage( 'mainpage' );
$formatter->addWarning( 'message', $msg1 );
- $msg2 = new ApiMessage( 'mainpage', 'overriddenCode', array( 'overriddenData' => true ) );
+ $msg2 = new ApiMessage( 'mainpage', 'overriddenCode', [ 'overriddenData' => true ] );
$formatter->addWarning( 'messageWithData', $msg2 );
$formatter->addError( 'errWithData', $msg2 );
$this->assertSame( $expect2, $result->getResultData(), 'Complex test' );
$C = ApiResult::META_CONTENT;
$I = ApiResult::META_INDEXED_TAG_NAME;
- return array(
- array( 'wikitext', 'de', true,
- array(
- 'errors' => array(
- 'err' => array(
- array( 'code' => 'mainpage', 'text' => $mainpageText, $C => 'text' ),
+ return [
+ [ 'wikitext', 'de', true,
+ [
+ 'errors' => [
+ 'err' => [
+ [ 'code' => 'mainpage', 'text' => $mainpageText, $C => 'text' ],
$I => 'error',
- ),
- ),
- 'warnings' => array(
- 'string' => array(
- array( 'code' => 'mainpage', 'text' => $mainpageText, $C => 'text' ),
+ ],
+ ],
+ 'warnings' => [
+ 'string' => [
+ [ 'code' => 'mainpage', 'text' => $mainpageText, $C => 'text' ],
$I => 'warning',
- ),
- ),
- ),
- array(
- 'errors' => array(
- 'errWithData' => array(
- array( 'code' => 'overriddenCode', 'text' => $mainpageText,
- 'overriddenData' => true, $C => 'text' ),
+ ],
+ ],
+ ],
+ [
+ 'errors' => [
+ 'errWithData' => [
+ [ 'code' => 'overriddenCode', 'text' => $mainpageText,
+ 'overriddenData' => true, $C => 'text' ],
$I => 'error',
- ),
- ),
- 'warnings' => array(
- 'messageWithData' => array(
- array( 'code' => 'overriddenCode', 'text' => $mainpageText,
- 'overriddenData' => true, $C => 'text' ),
+ ],
+ ],
+ 'warnings' => [
+ 'messageWithData' => [
+ [ 'code' => 'overriddenCode', 'text' => $mainpageText,
+ 'overriddenData' => true, $C => 'text' ],
$I => 'warning',
- ),
- 'message' => array(
- array( 'code' => 'mainpage', 'text' => $mainpageText, $C => 'text' ),
+ ],
+ 'message' => [
+ [ 'code' => 'mainpage', 'text' => $mainpageText, $C => 'text' ],
$I => 'warning',
- ),
- 'foo' => array(
- array( 'code' => 'mainpage', 'text' => $mainpageText, $C => 'text' ),
- array( 'code' => 'parentheses', 'text' => $parensText, $C => 'text' ),
+ ],
+ 'foo' => [
+ [ 'code' => 'mainpage', 'text' => $mainpageText, $C => 'text' ],
+ [ 'code' => 'parentheses', 'text' => $parensText, $C => 'text' ],
$I => 'warning',
- ),
- ),
- ),
- array(
- 'errors' => array(
- 'status' => array(
- array( 'code' => 'mainpage', 'text' => $mainpageText, $C => 'text' ),
- array( 'code' => 'parentheses', 'text' => $parensText, $C => 'text' ),
+ ],
+ ],
+ ],
+ [
+ 'errors' => [
+ 'status' => [
+ [ 'code' => 'mainpage', 'text' => $mainpageText, $C => 'text' ],
+ [ 'code' => 'parentheses', 'text' => $parensText, $C => 'text' ],
$I => 'error',
- ),
- ),
- 'warnings' => array(
- 'status' => array(
- array( 'code' => 'mainpage', 'text' => $mainpageText, $C => 'text' ),
- array( 'code' => 'parentheses', 'text' => $parensText, $C => 'text' ),
- array( 'code' => 'overriddenCode', 'text' => $mainpageText,
- 'overriddenData' => true, $C => 'text' ),
+ ],
+ ],
+ 'warnings' => [
+ 'status' => [
+ [ 'code' => 'mainpage', 'text' => $mainpageText, $C => 'text' ],
+ [ 'code' => 'parentheses', 'text' => $parensText, $C => 'text' ],
+ [ 'code' => 'overriddenCode', 'text' => $mainpageText,
+ 'overriddenData' => true, $C => 'text' ],
$I => 'warning',
- ),
- ),
- ),
- ),
- array( 'raw', 'fr', true,
- array(
- 'errors' => array(
- 'err' => array(
- array( 'code' => 'mainpage', 'message' => 'mainpage', 'params' => array( $I => 'param' ) ),
+ ],
+ ],
+ ],
+ ],
+ [ 'raw', 'fr', true,
+ [
+ 'errors' => [
+ 'err' => [
+ [
+ 'code' => 'mainpage',
+ 'message' => 'mainpage',
+ 'params' => [ $I => 'param' ]
+ ],
$I => 'error',
- ),
- ),
- 'warnings' => array(
- 'string' => array(
- array( 'code' => 'mainpage', 'message' => 'mainpage', 'params' => array( $I => 'param' ) ),
+ ],
+ ],
+ 'warnings' => [
+ 'string' => [
+ [
+ 'code' => 'mainpage',
+ 'message' => 'mainpage',
+ 'params' => [ $I => 'param' ]
+ ],
$I => 'warning',
- ),
- ),
- ),
- array(
- 'errors' => array(
- 'errWithData' => array(
- array( 'code' => 'overriddenCode', 'message' => 'mainpage', 'params' => array( $I => 'param' ),
- 'overriddenData' => true ),
+ ],
+ ],
+ ],
+ [
+ 'errors' => [
+ 'errWithData' => [
+ [
+ 'code' => 'overriddenCode',
+ 'message' => 'mainpage',
+ 'params' => [ $I => 'param' ],
+ 'overriddenData' => true
+ ],
$I => 'error',
- ),
- ),
- 'warnings' => array(
- 'messageWithData' => array(
- array( 'code' => 'overriddenCode', 'message' => 'mainpage', 'params' => array( $I => 'param' ),
- 'overriddenData' => true ),
+ ],
+ ],
+ 'warnings' => [
+ 'messageWithData' => [
+ [
+ 'code' => 'overriddenCode',
+ 'message' => 'mainpage',
+ 'params' => [ $I => 'param' ],
+ 'overriddenData' => true
+ ],
$I => 'warning',
- ),
- 'message' => array(
- array( 'code' => 'mainpage', 'message' => 'mainpage', 'params' => array( $I => 'param' ) ),
+ ],
+ 'message' => [
+ [
+ 'code' => 'mainpage',
+ 'message' => 'mainpage',
+ 'params' => [ $I => 'param' ]
+ ],
$I => 'warning',
- ),
- 'foo' => array(
- array( 'code' => 'mainpage', 'message' => 'mainpage', 'params' => array( $I => 'param' ) ),
- array( 'code' => 'parentheses', 'message' => 'parentheses', 'params' => array( 'foobar', $I => 'param' ) ),
+ ],
+ 'foo' => [
+ [
+ 'code' => 'mainpage',
+ 'message' => 'mainpage',
+ 'params' => [ $I => 'param' ]
+ ],
+ [
+ 'code' => 'parentheses',
+ 'message' => 'parentheses',
+ 'params' => [ 'foobar', $I => 'param' ]
+ ],
$I => 'warning',
- ),
- ),
- ),
- array(
- 'errors' => array(
- 'status' => array(
- array( 'code' => 'mainpage', 'message' => 'mainpage', 'params' => array( $I => 'param' ) ),
- array( 'code' => 'parentheses', 'message' => 'parentheses', 'params' => array( 'foobar', $I => 'param' ) ),
+ ],
+ ],
+ ],
+ [
+ 'errors' => [
+ 'status' => [
+ [
+ 'code' => 'mainpage',
+ 'message' => 'mainpage',
+ 'params' => [ $I => 'param' ]
+ ],
+ [
+ 'code' => 'parentheses',
+ 'message' => 'parentheses',
+ 'params' => [ 'foobar', $I => 'param' ]
+ ],
$I => 'error',
- ),
- ),
- 'warnings' => array(
- 'status' => array(
- array( 'code' => 'mainpage', 'message' => 'mainpage', 'params' => array( $I => 'param' ) ),
- array( 'code' => 'parentheses', 'message' => 'parentheses', 'params' => array( 'foobar', $I => 'param' ) ),
- array( 'code' => 'overriddenCode', 'message' => 'mainpage', 'params' => array( $I => 'param' ),
- 'overriddenData' => true ),
+ ],
+ ],
+ 'warnings' => [
+ 'status' => [
+ [
+ 'code' => 'mainpage',
+ 'message' => 'mainpage',
+ 'params' => [ $I => 'param' ]
+ ],
+ [
+ 'code' => 'parentheses',
+ 'message' => 'parentheses',
+ 'params' => [ 'foobar', $I => 'param' ]
+ ],
+ [
+ 'code' => 'overriddenCode',
+ 'message' => 'mainpage',
+ 'params' => [ $I => 'param' ],
+ 'overriddenData' => true
+ ],
$I => 'warning',
- ),
- ),
- ),
- ),
- array( 'none', 'fr', true,
- array(
- 'errors' => array(
- 'err' => array(
- array( 'code' => 'mainpage' ),
+ ],
+ ],
+ ],
+ ],
+ [ 'none', 'fr', true,
+ [
+ 'errors' => [
+ 'err' => [
+ [ 'code' => 'mainpage' ],
$I => 'error',
- ),
- ),
- 'warnings' => array(
- 'string' => array(
- array( 'code' => 'mainpage' ),
+ ],
+ ],
+ 'warnings' => [
+ 'string' => [
+ [ 'code' => 'mainpage' ],
$I => 'warning',
- ),
- ),
- ),
- array(
- 'errors' => array(
- 'errWithData' => array(
- array( 'code' => 'overriddenCode', 'overriddenData' => true ),
+ ],
+ ],
+ ],
+ [
+ 'errors' => [
+ 'errWithData' => [
+ [ 'code' => 'overriddenCode', 'overriddenData' => true ],
$I => 'error',
- ),
- ),
- 'warnings' => array(
- 'messageWithData' => array(
- array( 'code' => 'overriddenCode', 'overriddenData' => true ),
+ ],
+ ],
+ 'warnings' => [
+ 'messageWithData' => [
+ [ 'code' => 'overriddenCode', 'overriddenData' => true ],
$I => 'warning',
- ),
- 'message' => array(
- array( 'code' => 'mainpage' ),
+ ],
+ 'message' => [
+ [ 'code' => 'mainpage' ],
$I => 'warning',
- ),
- 'foo' => array(
- array( 'code' => 'mainpage' ),
- array( 'code' => 'parentheses' ),
+ ],
+ 'foo' => [
+ [ 'code' => 'mainpage' ],
+ [ 'code' => 'parentheses' ],
$I => 'warning',
- ),
- ),
- ),
- array(
- 'errors' => array(
- 'status' => array(
- array( 'code' => 'mainpage' ),
- array( 'code' => 'parentheses' ),
+ ],
+ ],
+ ],
+ [
+ 'errors' => [
+ 'status' => [
+ [ 'code' => 'mainpage' ],
+ [ 'code' => 'parentheses' ],
$I => 'error',
- ),
- ),
- 'warnings' => array(
- 'status' => array(
- array( 'code' => 'mainpage' ),
- array( 'code' => 'parentheses' ),
- array( 'code' => 'overriddenCode', 'overriddenData' => true ),
+ ],
+ ],
+ 'warnings' => [
+ 'status' => [
+ [ 'code' => 'mainpage' ],
+ [ 'code' => 'parentheses' ],
+ [ 'code' => 'overriddenCode', 'overriddenData' => true ],
$I => 'warning',
- ),
- ),
- ),
- ),
- );
+ ],
+ ],
+ ],
+ ],
+ ];
}
/**
$formatter->addWarning( 'string', 'mainpage' );
$formatter->addError( 'err', 'mainpage' );
- $this->assertSame( array(
- 'error' => array(
+ $this->assertSame( [
+ 'error' => [
'code' => 'mainpage',
'info' => $mainpagePlain,
- ),
- 'warnings' => array(
- 'string' => array(
+ ],
+ 'warnings' => [
+ 'string' => [
'warnings' => $mainpagePlain,
ApiResult::META_CONTENT => 'warnings',
- ),
- ),
- ), $result->getResultData(), 'Simple test' );
+ ],
+ ],
+ ApiResult::META_TYPE => 'assoc',
+ ], $result->getResultData(), 'Simple test' );
$result->reset();
$formatter->addWarning( 'foo', 'mainpage' );
$formatter->addWarning( 'foo', 'mainpage' );
- $formatter->addWarning( 'foo', array( 'parentheses', 'foobar' ) );
+ $formatter->addWarning( 'foo', [ 'parentheses', 'foobar' ] );
$msg1 = wfMessage( 'mainpage' );
$formatter->addWarning( 'message', $msg1 );
- $msg2 = new ApiMessage( 'mainpage', 'overriddenCode', array( 'overriddenData' => true ) );
+ $msg2 = new ApiMessage( 'mainpage', 'overriddenCode', [ 'overriddenData' => true ] );
$formatter->addWarning( 'messageWithData', $msg2 );
$formatter->addError( 'errWithData', $msg2 );
- $this->assertSame( array(
- 'error' => array(
+ $this->assertSame( [
+ 'error' => [
'code' => 'overriddenCode',
'info' => $mainpagePlain,
'overriddenData' => true,
- ),
- 'warnings' => array(
- 'messageWithData' => array(
+ ],
+ 'warnings' => [
+ 'messageWithData' => [
'warnings' => $mainpagePlain,
ApiResult::META_CONTENT => 'warnings',
- ),
- 'message' => array(
+ ],
+ 'message' => [
'warnings' => $mainpagePlain,
ApiResult::META_CONTENT => 'warnings',
- ),
- 'foo' => array(
+ ],
+ 'foo' => [
'warnings' => "$mainpagePlain\n$parensPlain",
ApiResult::META_CONTENT => 'warnings',
- ),
- ),
- ), $result->getResultData(), 'Complex test' );
+ ],
+ ],
+ ApiResult::META_TYPE => 'assoc',
+ ], $result->getResultData(), 'Complex test' );
$result->reset();
$status = Status::newGood();
$status->error( 'mainpage' );
$status->error( 'parentheses', 'foobar' );
$formatter->addMessagesFromStatus( 'status', $status );
- $this->assertSame( array(
- 'error' => array(
+ $this->assertSame( [
+ 'error' => [
'code' => 'parentheses',
'info' => $parensPlain,
- ),
- 'warnings' => array(
- 'status' => array(
+ ],
+ 'warnings' => [
+ 'status' => [
'warnings' => "$mainpagePlain\n$parensPlain",
ApiResult::META_CONTENT => 'warnings',
- ),
- ),
- ), $result->getResultData(), 'Status test' );
+ ],
+ ],
+ ApiResult::META_TYPE => 'assoc',
+ ], $result->getResultData(), 'Status test' );
$I = ApiResult::META_INDEXED_TAG_NAME;
$this->assertSame(
- array(
- array( 'type' => 'error', 'message' => 'mainpage', 'params' => array( $I => 'param' ) ),
- array( 'type' => 'error', 'message' => 'parentheses', 'params' => array( 'foobar', $I => 'param' ) ),
+ [
+ [
+ 'type' => 'error',
+ 'message' => 'mainpage',
+ 'params' => [ $I => 'param' ]
+ ],
+ [
+ 'type' => 'error',
+ 'message' => 'parentheses',
+ 'params' => [ 'foobar', $I => 'param' ]
+ ],
$I => 'error',
- ),
+ ],
$formatter->arrayFromStatus( $status, 'error' ),
'arrayFromStatus test for error'
);
$this->assertSame(
- array(
- array( 'type' => 'warning', 'message' => 'mainpage', 'params' => array( $I => 'param' ) ),
- array( 'type' => 'warning', 'message' => 'parentheses', 'params' => array( 'foobar', $I => 'param' ) ),
- array( 'message' => 'mainpage', 'params' => array( $I => 'param' ), 'type' => 'warning' ),
- array( 'message' => 'mainpage', 'params' => array( $I => 'param' ), 'type' => 'warning' ),
+ [
+ [
+ 'type' => 'warning',
+ 'message' => 'mainpage',
+ 'params' => [ $I => 'param' ]
+ ],
+ [
+ 'type' => 'warning',
+ 'message' => 'parentheses',
+ 'params' => [ 'foobar', $I => 'param' ]
+ ],
+ [
+ 'message' => 'mainpage',
+ 'params' => [ $I => 'param' ],
+ 'type' => 'warning'
+ ],
+ [
+ 'message' => 'mainpage',
+ 'params' => [ $I => 'param' ],
+ 'type' => 'warning'
+ ],
$I => 'warning',
- ),
+ ],
$formatter->arrayFromStatus( $status, 'warning' ),
'arrayFromStatus test for warning'
);