wiki.techinc.nl/tests/phpunit/includes/api/query/ApiQueryAllPagesTest.php
James D. Forrester ad06527fb4 Reorg: Namespace the Title class
This is moderately messy.

Process was principally:

* xargs rg --files-with-matches '^use Title;' | grep 'php$' | \
  xargs -P 1 -n 1 sed -i -z 's/use Title;/use MediaWiki\\Title\\Title;/1'
* rg --files-without-match 'MediaWiki\\Title\\Title;' . | grep 'php$' | \
  xargs rg --files-with-matches 'Title\b' | \
  xargs -P 1 -n 1 sed -i -z 's/\nuse /\nuse MediaWiki\\Title\\Title;\nuse /1'
* composer fix

Then manual fix-ups for a few files that don't have any use statements.

Bug: T166010
Follows-Up: Ia5d8cb759dc3bc9e9bbe217d0fb109e2f8c4101a
Change-Id: If8fc9d0d95fc1a114021e282a706fc3e7da3524b
2023-03-02 08:46:53 -05:00

38 lines
919 B
PHP

<?php
use MediaWiki\Title\Title;
/**
* @group API
* @group Database
* @group medium
*
* @covers ApiQueryAllPages
*/
class ApiQueryAllPagesTest extends ApiTestCase {
/**
* Test T27702
* Prefixes of API search requests are not handled with case sensitivity and may result
* in wrong search results
*/
public function testPrefixNormalizationSearchBug() {
$title = Title::makeTitle( NS_CATEGORY, 'Template:xyz' );
$this->editPage(
$title,
'Some text',
'inserting content',
NS_MAIN,
$this->getTestSysop()->getAuthority()
);
$result = $this->doApiRequest( [
'action' => 'query',
'list' => 'allpages',
'apnamespace' => NS_CATEGORY,
'apprefix' => 'Template:x' ] );
$this->assertArrayHasKey( 'query', $result[0] );
$this->assertArrayHasKey( 'allpages', $result[0]['query'] );
$this->assertContains( 'Category:Template:xyz', $result[0]['query']['allpages'][0] );
}
}