2013-11-17 17:52:54 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @group API
|
|
|
|
|
* @group Database
|
|
|
|
|
* @group medium
|
2017-12-24 23:44:36 +00:00
|
|
|
*
|
|
|
|
|
* @covers ApiQueryAllPages
|
2013-11-17 17:52:54 +00:00
|
|
|
*/
|
|
|
|
|
class ApiQueryAllPagesTest extends ApiTestCase {
|
2014-03-07 20:22:13 +00:00
|
|
|
|
2013-11-17 17:52:54 +00:00
|
|
|
protected function setUp() {
|
|
|
|
|
parent::setUp();
|
|
|
|
|
$this->doLogin();
|
|
|
|
|
}
|
|
|
|
|
|
2014-03-07 20:22:13 +00:00
|
|
|
/**
|
2017-02-20 23:45:58 +00:00
|
|
|
*Test T27702
|
2014-12-30 06:37:25 +00:00
|
|
|
*Prefixes of API search requests are not handled with case sensitivity and may result
|
|
|
|
|
*in wrong search results
|
2014-03-07 20:22:13 +00:00
|
|
|
*/
|
2014-12-30 06:37:25 +00:00
|
|
|
public function testPrefixNormalizationSearchBug() {
|
2013-11-17 17:52:54 +00:00
|
|
|
$title = Title::newFromText( 'Category:Template:xyz' );
|
|
|
|
|
$page = WikiPage::factory( $title );
|
2016-09-15 20:13:22 +00:00
|
|
|
|
|
|
|
|
$page->doEditContent(
|
|
|
|
|
ContentHandler::makeContent( 'Some text', $page->getTitle() ),
|
|
|
|
|
'inserting content'
|
|
|
|
|
);
|
2013-11-17 17:52:54 +00:00
|
|
|
|
2016-02-17 09:09:32 +00:00
|
|
|
$result = $this->doApiRequest( [
|
2013-11-17 17:52:54 +00:00
|
|
|
'action' => 'query',
|
|
|
|
|
'list' => 'allpages',
|
|
|
|
|
'apnamespace' => NS_CATEGORY,
|
2016-02-17 09:09:32 +00:00
|
|
|
'apprefix' => 'Template:x' ] );
|
2013-11-17 17:52:54 +00:00
|
|
|
|
|
|
|
|
$this->assertArrayHasKey( 'query', $result[0] );
|
|
|
|
|
$this->assertArrayHasKey( 'allpages', $result[0]['query'] );
|
|
|
|
|
$this->assertNotEquals( 0, count( $result[0]['query']['allpages'] ),
|
|
|
|
|
'allpages list does not contain page Category:Template:xyz' );
|
|
|
|
|
}
|
|
|
|
|
}
|