build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

Also added "composer fix" command.

Change-Id: I7d2e62235f08ecb03f92e5eafccd84b79434c9d1
This commit is contained in:
Kunal Mehta 2016-05-09 17:00:14 -07:00
parent d51dd4e38c
commit 7280f40cc6
5 changed files with 181 additions and 178 deletions

View file

@ -11,7 +11,7 @@ class TemplateDataHooks {
* Register parser hooks
*/
public static function onParserFirstCallInit( &$parser ) {
$parser->setHook( 'templatedata', array( 'TemplateDataHooks', 'render' ) );
$parser->setHook( 'templatedata', [ 'TemplateDataHooks', 'render' ] );
return true;
}
@ -31,12 +31,12 @@ class TemplateDataHooks {
array &$testModules,
ResourceLoader &$resourceLoader
) {
$testModules['qunit']['ext.templateData.test'] = array(
'scripts' => array( 'tests/ext.templateData.tests.js' ),
'dependencies' => array( 'ext.templateDataGenerator.data' ),
$testModules['qunit']['ext.templateData.test'] = [
'scripts' => [ 'tests/ext.templateData.tests.js' ],
'dependencies' => [ 'ext.templateDataGenerator.data' ],
'localBasePath' => __DIR__ ,
'remoteExtPath' => 'TemplateData',
);
];
return true;
}
@ -51,17 +51,17 @@ class TemplateDataHooks {
$resourceModules = $resourceLoader->getConfig()->get( 'ResourceModules' );
$name = 'jquery.uls.data';
if ( !isset( $resourceModules[$name] ) && !$resourceLoader->isModuleRegistered( $name ) ) {
$resourceLoader->register( array(
'jquery.uls.data' => array(
$resourceLoader->register( [
'jquery.uls.data' => [
'localBasePath' => __DIR__,
'remoteExtPath' => 'TemplateData',
'scripts' => array(
'scripts' => [
'lib/jquery.uls/src/jquery.uls.data.js',
'lib/jquery.uls/src/jquery.uls.data.utils.js',
),
'targets' => array( 'desktop', 'mobile' ),
)
) );
],
'targets' => [ 'desktop', 'mobile' ],
]
] );
}
}

View file

@ -60,9 +60,9 @@ class TemplateDataBlob {
$tdb->data = new stdClass();
$tdb->data->description = null;
$tdb->data->params = new stdClass();
$tdb->data->paramOrder = array();
$tdb->data->paramOrder = [];
$tdb->data->format = null;
$tdb->data->sets = array();
$tdb->data->sets = [];
$tdb->data->maps = new stdClass();
}
$tdb->status = $status;
@ -92,16 +92,16 @@ class TemplateDataBlob {
private function parse() {
$data = $this->data;
static $rootKeys = array(
static $rootKeys = [
'description',
'params',
'paramOrder',
'sets',
'maps',
'format',
);
];
static $paramKeys = array(
static $paramKeys = [
'label',
'required',
'suggested',
@ -113,9 +113,9 @@ class TemplateDataBlob {
'default',
'inherits',
'type',
);
];
static $types = array(
static $types = [
'content',
'line',
'number',
@ -129,20 +129,20 @@ class TemplateDataBlob {
'wiki-user-name',
'wiki-file-name',
'wiki-template-name',
);
];
static $formats = array(
static $formats = [
null,
'block',
'inline'
);
];
static $typeCompatMap = array(
static $typeCompatMap = [
'string/line' => 'line',
'string/wiki-page-name' => 'wiki-page-name',
'string/wiki-user-name' => 'wiki-user-name',
'string/wiki-file-name' => 'wiki-file-name',
);
];
if ( $data === null ) {
return Status::newFatal( 'templatedata-invalid-parse' );
@ -193,7 +193,7 @@ class TemplateDataBlob {
// We need this to determine whether a property was originally set
// to decide whether 'inherits' will add it or not.
$unnormalizedParams = unserialize( serialize( $data->params ) );
$paramNames = array();
$paramNames = [];
foreach ( $data->params as $paramName => $paramObj ) {
if ( !is_object( $paramObj ) ) {
@ -308,7 +308,7 @@ class TemplateDataBlob {
);
}
} else {
$paramObj->aliases = array();
$paramObj->aliases = [];
}
// Param.autovalue
@ -406,7 +406,7 @@ class TemplateDataBlob {
// Validate each of the values corresponds to a parameter and that there are no
// duplicates
$seen = array();
$seen = [];
foreach ( $data->paramOrder as $i => $param ) {
if ( !isset( $data->params->$param ) ) {
return Status::newFatal( 'templatedata-invalid-value', "paramOrder[$i]" );
@ -431,7 +431,7 @@ class TemplateDataBlob {
return Status::newFatal( 'templatedata-invalid-type', 'sets', 'array' );
}
} else {
$data->sets = array();
$data->sets = [];
}
foreach ( $data->sets as $setNr => $setObj ) {
@ -702,15 +702,15 @@ class TemplateDataBlob {
public function getHtml( Language $lang ) {
$data = $this->getDataInLanguage( $lang->getCode() );
$html =
Html::openElement( 'div', array( 'class' => 'mw-templatedata-doc-wrap' ) )
Html::openElement( 'div', [ 'class' => 'mw-templatedata-doc-wrap' ] )
. Html::element(
'p',
array(
'class' => array(
[
'class' => [
'mw-templatedata-doc-desc',
'mw-templatedata-doc-muted' => $data->description === null,
)
),
]
],
$data->description !== null ?
$data->description :
wfMessage( 'templatedata-doc-desc-empty' )->inLanguage( $lang )->text()
@ -718,20 +718,20 @@ class TemplateDataBlob {
. '<table class="wikitable mw-templatedata-doc-params sortable">'
. Html::rawElement(
'caption',
array(),
[],
Html::element(
'p',
array(),
[],
wfMessage( 'templatedata-doc-params' )->inLanguage( $lang )->text()
)
. ( $data->format !== null ?
Html::rawElement(
'p',
array(),
new OOUI\IconWidget( array( 'icon' => 'template-format-' . $data->format ) )
[],
new OOUI\IconWidget( [ 'icon' => 'template-format-' . $data->format ] )
. Html::element(
'span',
array( 'class' => 'mw-templatedata-format' ),
[ 'class' => 'mw-templatedata-format' ],
// Messages: templatedata-modal-format-inline, templatedata-modal-format-block
wfMessage( 'templatedata-doc-format-' . $data->format )->inLanguage( $lang )->text()
)
@ -741,22 +741,22 @@ class TemplateDataBlob {
. '<thead><tr>'
. Html::element(
'th',
array( 'colspan' => 2 ),
[ 'colspan' => 2 ],
wfMessage( 'templatedata-doc-param-name' )->inLanguage( $lang )->text()
)
. Html::element(
'th',
array(),
[],
wfMessage( 'templatedata-doc-param-desc' )->inLanguage( $lang )->text()
)
. Html::element(
'th',
array(),
[],
wfMessage( 'templatedata-doc-param-type' )->inLanguage( $lang )->text()
)
. Html::element(
'th',
array(),
[],
wfMessage( 'templatedata-doc-param-status' )->inLanguage( $lang )->text()
)
. '</tr></thead>'
@ -766,10 +766,10 @@ class TemplateDataBlob {
// Display no parameters message
$html .= '<tr>'
. Html::element( 'td',
array(
[
'class' => 'mw-templatedata-doc-muted',
'colspan' => 7
),
],
wfMessage( 'templatedata-doc-no-params-set' )->inLanguage( $lang )->text()
)
. '</tr>';
@ -782,9 +782,9 @@ class TemplateDataBlob {
$aliases = '';
if ( count( $paramObj->aliases ) ) {
foreach ( $paramObj->aliases as $alias ) {
$aliases .= Html::element( 'code', array(
$aliases .= Html::element( 'code', [
'class' => 'mw-templatedata-doc-param-alias'
), $alias );
], $alias );
}
}
@ -802,75 +802,75 @@ class TemplateDataBlob {
$html .= '<tr>'
// Label
. Html::element( 'th', array(),
. Html::element( 'th', [],
$paramObj->label !== null ?
$paramObj->label :
$lang->ucfirst( $paramName )
)
// Parameters and aliases
. Html::rawElement( 'td', array( 'class' => 'mw-templatedata-doc-param-name' ),
Html::element( 'code', array(), $paramName ) . $aliases
. Html::rawElement( 'td', [ 'class' => 'mw-templatedata-doc-param-name' ],
Html::element( 'code', [], $paramName ) . $aliases
)
// Description
. Html::rawElement( 'td', array(
'class' => array(
. Html::rawElement( 'td', [
'class' => [
'mw-templatedata-doc-muted' => ( $paramObj->description === null )
)
),
Html::rawElement( 'p', array(),
]
],
Html::rawElement( 'p', [],
$paramObj->description !== null ?
$paramObj->description :
wfMessage( 'templatedata-doc-param-desc-empty' )->inLanguage( $lang )->text()
)
. Html::rawElement( 'dl', array(),
Html::element( 'dt', array(),
. Html::rawElement( 'dl', [],
Html::element( 'dt', [],
wfMessage( 'templatedata-doc-param-default' )->inLanguage( $lang )->text()
)
// Default
. Html::element( 'dd', array(
'class' => array(
. Html::element( 'dd', [
'class' => [
'mw-templatedata-doc-muted' => $paramObj->default === null
)
),
]
],
$paramObj->default !== null ?
$paramObj->default :
wfMessage( 'templatedata-doc-param-default-empty' )->inLanguage( $lang )->text()
)
// Example
. Html::element( 'dt', array(),
. Html::element( 'dt', [],
wfMessage( 'templatedata-doc-param-example' )->inLanguage( $lang )->text()
)
. Html::element( 'dd', array(
'class' => array(
. Html::element( 'dd', [
'class' => [
'mw-templatedata-doc-muted' => $paramObj->example === null
)
),
]
],
$paramObj->example !== null ?
$paramObj->example :
wfMessage( 'templatedata-doc-param-example-empty' )->inLanguage( $lang )->text()
)
// Auto value
. Html::element( 'dt', array(),
. Html::element( 'dt', [],
wfMessage( 'templatedata-doc-param-autovalue' )->inLanguage( $lang )->text()
)
. Html::rawElement( 'dd', array(
'class' => array(
. Html::rawElement( 'dd', [
'class' => [
'mw-templatedata-doc-muted' => $paramObj->autovalue === null
)
),
]
],
$paramObj->autovalue !== null ?
Html::element( 'code', array(), $paramObj->autovalue ) :
Html::element( 'code', [], $paramObj->autovalue ) :
wfMessage( 'templatedata-doc-param-autovalue-empty' )->inLanguage( $lang )->escaped()
)
)
)
// Type
. Html::element( 'td', array(
'class' => array(
. Html::element( 'td', [
'class' => [
'mw-templatedata-doc-param-type',
'mw-templatedata-doc-muted' => $paramObj->type === 'unknown'
)
),
]
],
// Known messages, for grepping:
// templatedata-doc-param-type-boolean, templatedata-doc-param-type-content,

View file

@ -56,21 +56,21 @@ class ApiTemplateData extends ApiBase {
$titles = $pageSet->getGoodTitles(); // page_id => Title object
if ( !count( $titles ) ) {
$result->addValue( null, 'pages', (object) array() );
$result->addValue( null, 'pages', (object) [] );
return;
}
$db = $this->getDB();
$res = $db->select( 'page_props',
array( 'pp_page', 'pp_value' ), array(
[ 'pp_page', 'pp_value' ], [
'pp_page' => array_keys( $titles ),
'pp_propname' => 'templatedata'
),
],
__METHOD__,
array( 'ORDER BY', 'pp_page' )
[ 'ORDER BY', 'pp_page' ]
);
$resp = array();
$resp = [];
foreach ( $res as $row ) {
$rawData = $row->pp_value;
@ -94,7 +94,7 @@ class ApiTemplateData extends ApiBase {
// to empty strings / absent properties
if ( defined( 'ApiResult::META_BC_BOOLS' ) ) {
foreach ( $data->params as &$param ) {
$param->{ApiResult::META_BC_BOOLS} = array( 'required', 'suggested', 'deprecated' );
$param->{ApiResult::META_BC_BOOLS} = [ 'required', 'suggested', 'deprecated' ];
}
unset( $param );
@ -104,9 +104,9 @@ class ApiTemplateData extends ApiBase {
ApiResult::setIndexedTagName( $data->paramOrder, 'p' );
}
$resp[$row->pp_page] = array(
$resp[$row->pp_page] = [
'title' => strval( $titles[$row->pp_page] ),
) + (array) $data;
] + (array) $data;
}
ApiResult::setArrayType( $resp, 'kvp', 'id' );
@ -126,19 +126,19 @@ class ApiTemplateData extends ApiBase {
}
public function getAllowedParams( $flags = 0 ) {
return $this->getPageSet()->getFinalParams( $flags ) + array(
return $this->getPageSet()->getFinalParams( $flags ) + [
'lang' => null
);
];
}
/**
* @see ApiBase::getExamplesMessages()
*/
protected function getExamplesMessages() {
return array(
return [
'action=templatedata&titles=Template:Stub|Template:Example'
=> 'apihelp-templatedata-example-1',
);
];
}
public function getHelpUrls() {

View file

@ -1,12 +1,15 @@
{
"require-dev": {
"jakub-onderka/php-parallel-lint": "0.9.2",
"mediawiki/mediawiki-codesniffer": "0.5.1"
"mediawiki/mediawiki-codesniffer": "0.7.1"
},
"scripts": {
"test": [
"parallel-lint . --exclude vendor",
"phpcs -p -s"
],
"fix": [
"phpcbf"
]
}
}

View file

@ -8,10 +8,10 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
protected function setUp() {
parent::setUp();
$this->setMwGlobals( array(
$this->setMwGlobals( [
'wgLanguageCode' => 'en',
'wgContLang' => Language::factory( 'en' ),
) );
] );
}
/**
@ -35,13 +35,13 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
}
public static function provideParse() {
$cases = array(
array(
$cases = [
[
'input' => '[]
',
'status' => 'Property "templatedata" is expected to be of type "object".'
),
array(
],
[
'input' => '{
"params": {}
}
@ -57,8 +57,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
',
'status' => true,
'msg' => 'Minimal valid blob'
),
array(
],
[
'input' => '{
"params": {},
"foo": "bar"
@ -66,21 +66,21 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
',
'status' => 'Unexpected property "foo".',
'msg' => 'Unknown properties'
),
array(
],
[
'input' => '{}',
'status' => 'Required property "params" not found.',
'msg' => 'Empty object'
),
array(
],
[
'input' => '{
"foo": "bar"
}
',
'status' => 'Unexpected property "foo".',
'msg' => 'Unknown properties invalidate the blob'
),
array(
],
[
'input' => '{
"params": {
"foo": {}
@ -110,8 +110,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
}
',
'msg' => 'Optional properties are added if missing'
),
array(
],
[
'input' => '{
"params": {
"comment": {
@ -143,8 +143,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
}
',
'msg' => 'Old string/* types are mapped to the unprefixed versions'
),
array(
],
[
'input' => '{
"description": "User badge MediaWiki developers.",
"params": {
@ -193,8 +193,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
}
',
'msg' => 'InterfaceText is expanded to langcode-keyed object, assuming content language'
),
array(
],
[
'input' => '{
"description": "Document the documenter.",
"params": {
@ -256,8 +256,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
',
'msg' => 'The inherits property copies over properties from another parameter '
. '(preserving overides)'
),
array(
],
[
'input' => '{
"params": {},
"sets": [
@ -267,8 +267,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
]
}',
'status' => 'Required property "sets.0.params" not found.'
),
array(
],
[
'input' => '{
"params": {
"foo": {
@ -281,8 +281,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
]
}',
'status' => 'Required property "sets.0.label" not found.'
),
array(
],
[
'input' => '{
"params": {
"foo": {
@ -298,8 +298,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
]
}',
'status' => 'Invalid value for property "sets.0.params[1]".'
),
array(
],
[
'input' => '{
"params": {
"foo": {
@ -379,8 +379,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
"maps": {}
}',
'status' => true
),
array(
],
[
'input' => '{
"description": "Testing some template description.",
"params": {
@ -432,8 +432,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
}
',
'msg' => 'Parameter attributes preserve information.'
),
array(
],
[
'input' => '{
"params": {
"foo": {
@ -452,8 +452,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
}
}',
'status' => 'Invalid parameter "quux" for property "maps.application.things".'
),
array(
],
[
'input' => '{
"params": {
"foo": {
@ -472,8 +472,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
}
}',
'status' => 'Property "maps.application.things" is expected to be of type "string|array".'
),
array(
],
[
'input' => '{
"params": {
"foo": {
@ -491,8 +491,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
}
}',
'status' => 'Property "maps.application.things[0][0]" is expected to be of type "string".'
),
array(
],
[
'input' => '{
"params": {
"foo": {}
@ -500,19 +500,19 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
"format": "meshuggah format"
}',
'status' => 'Property "format" is expected to be "inline" or "block".'
),
array(
],
[
// Should be long enough to trigger this condition after gzipping.
'input' => '{
"description": "' . self::generatePseudorandomString( 100000, 42 ) . '",
"params": {}
}',
'status' => 'Data too large to save (75,226 bytes, limit is 65,535)'
),
);
$calls = array();
],
];
$calls = [];
foreach ( $cases as $case ) {
$calls[] = array( $case );
$calls[] = [ $case ];
}
return $calls;
}
@ -520,7 +520,7 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
protected static function getStatusText( Status $status ) {
$str = $status->getHtml();
// Based on wfMessage()->parse
$m = array();
$m = [];
if ( preg_match( '/^<p>(.*)\n?<\/p>\n?$/sU', $str, $m ) ) {
// Unescape char references for things like "[, "]" and "|" for
// cleaner test assertions and output
@ -529,7 +529,7 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
return $str;
}
private static function ksort( Array &$input ) {
private static function ksort( array &$input ) {
ksort( $input );
foreach ( $input as $key => &$value ) {
if ( is_array( $value ) ) {
@ -565,7 +565,7 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
);
}
protected function assertTemplateData( Array $case ) {
protected function assertTemplateData( array $case ) {
// Expand defaults
if ( !isset( $case['status'] ) ) {
$case['status'] = true;
@ -635,7 +635,7 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
/**
* @dataProvider provideParse
*/
public function testParse( Array $case ) {
public function testParse( array $case ) {
$this->assertTemplateData( $case );
}
@ -656,8 +656,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
}
public static function provideGetDataInLanguage() {
$cases = array(
array(
$cases = [
[
'input' => '{
"description": {
"de": "German",
@ -679,8 +679,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
',
'lang' => 'de',
'msg' => 'Simple description'
),
array(
],
[
'input' => '{
"description": "Hi",
"params": {}
@ -698,8 +698,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
'lang' => 'fr',
'msg' => 'Non multi-language value returned as is (expands to { "en": value } for' .
' content-lang, "fr" falls back to "en")'
),
array(
],
[
'input' => '{
"description": {
"nl": "Dutch",
@ -719,8 +719,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
',
'lang' => 'fr',
'msg' => 'Try content language before giving up on user language and fallbacks'
),
array(
],
[
'input' => '{
"description": {
"es": "Spanish",
@ -740,8 +740,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
',
'lang' => 'fr',
'msg' => 'Description is optional, use null if no suitable fallback'
),
array(
],
[
'input' => '{
"description": {
"de": "German",
@ -762,8 +762,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
',
'lang' => 'de-formal',
'msg' => '"de-formal" falls back to "de"'
),
array(
],
[
'input' => '{
"params": {
"foo": {
@ -799,8 +799,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
',
'lang' => 'fr',
'msg' => 'Simple parameter label'
),
array(
],
[
'input' => '{
"params": {
"foo": {
@ -836,8 +836,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
',
'lang' => 'fr',
'msg' => 'Simple parameter default value'
),
array(
],
[
'input' => '{
"params": {
"foo": {
@ -873,8 +873,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
',
'lang' => 'fr',
'msg' => 'Parameter label is optional, use null if no matching fallback'
),
array(
],
[
'input' => '{
"params": {
"foo": {}
@ -919,11 +919,11 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
',
'lang' => 'fr',
'msg' => 'Set label is not optional, choose first available key as final fallback'
),
);
$calls = array();
],
];
$calls = [];
foreach ( $cases as $case ) {
$calls[] = array( $case );
$calls[] = [ $case ];
}
return $calls;
}
@ -931,14 +931,14 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
/**
* @dataProvider provideGetDataInLanguage
*/
public function testGetDataInLanguage( Array $case ) {
public function testGetDataInLanguage( array $case ) {
// Change content-language to be non-English so we can distinguish between the
// last 'en' fallback and the content language in our tests
$this->setMwGlobals( array(
$this->setMwGlobals( [
'wgLanguageCode' => 'nl',
'wgContLang' => Language::factory( 'nl' ),
) );
] );
if ( !isset( $case['msg'] ) ) {
$case['msg'] = is_string( $case['status'] ) ? $case['status'] : 'TemplateData assertion';
@ -961,8 +961,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
}
public static function provideParamOrder() {
$cases = array(
array(
$cases = [
[
'input' => '{
"params": {
"foo": {},
@ -1018,8 +1018,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
}
',
'msg' => 'Normalisation adds paramOrder'
),
array(
],
[
'input' => '{
"params": {
"foo": {},
@ -1076,8 +1076,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
}
',
'msg' => 'Custom paramOrder'
),
array(
],
[
'input' => '{
"params": {
"foo": {},
@ -1089,8 +1089,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
',
'status' => 'Required property "paramOrder[2]" not found.',
'msg' => 'Incomplete paramOrder'
),
array(
],
[
'input' => '{
"params": {}
}
@ -1105,8 +1105,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
}
',
'msg' => 'Empty parameter object produces empty array paramOrder'
),
array(
],
[
'input' => '{
"params": {
"foo": {},
@ -1118,8 +1118,8 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
',
'status' => 'Invalid value for property "paramOrder[3]".',
'msg' => 'Unknown params in paramOrder'
),
array(
],
[
'input' => '{
"params": {
"foo": {},
@ -1132,11 +1132,11 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
'status' => 'Property "paramOrder[3]" ("bar") is a duplicate of ' .
'"paramOrder[1]".',
'msg' => 'Duplicate params in paramOrder'
),
);
$calls = array();
],
];
$calls = [];
foreach ( $cases as $case ) {
$calls[] = array( $case );
$calls[] = [ $case ];
}
return $calls;
}
@ -1144,7 +1144,7 @@ class TemplateDataBlobTest extends MediaWikiTestCase {
/**
* @dataProvider provideParamOrder
*/
public function testParamOrder( Array $case ) {
public function testParamOrder( array $case ) {
$this->assertTemplateData( $case );
}
}