Merge "API: Allow to pass whitespaces in MultiValue"

This commit is contained in:
jenkins-bot 2018-01-29 15:31:43 +00:00 committed by Gerrit Code Review
commit 4eff5204d9
2 changed files with 14 additions and 1 deletions

View file

@ -1404,7 +1404,7 @@ abstract class ApiBase extends ContextSource {
protected function parseMultiValue( $valueName, $value, $allowMultiple, $allowedValues,
$allSpecifier = null, $limit1 = null, $limit2 = null
) {
if ( ( trim( $value ) === '' || trim( $value ) === "\x1f" ) && $allowMultiple ) {
if ( ( $value === '' || $value === "\x1f" ) && $allowMultiple ) {
return [];
}
$limit1 = $limit1 ?: self::LIMIT_SML1;

View file

@ -81,6 +81,19 @@ class ApiQueryTest extends ApiTestCase {
$this->assertArrayHasKey( 'invalid', $data[0]['query']['pages'][-1] );
}
public function testTitlesWithWhitespaces() {
$data = $this->doApiRequest( [
'action' => 'query',
'titles' => ' '
] );
$this->assertArrayHasKey( 'query', $data[0] );
$this->assertArrayHasKey( 'pages', $data[0]['query'] );
$this->assertEquals( 1, count( $data[0]['query']['pages'] ) );
$this->assertArrayHasKey( -1, $data[0]['query']['pages'] );
$this->assertArrayHasKey( 'invalid', $data[0]['query']['pages'][-1] );
}
/**
* Test the ApiBase::titlePartToKey function
*