X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Fapi%2Fquery%2FApiQueryTest.php;h=88a2e62f4618e1663bfee7d01216b437b35eb430;hb=a2c8c2969420a0f150c03f76e3a0bf9028fcda43;hp=8cb2327dfbedd6374298262dcc597895fe966484;hpb=c07567928973c22f1b85969f5ba20285e59b877d;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/api/query/ApiQueryTest.php b/tests/phpunit/includes/api/query/ApiQueryTest.php index 8cb2327dfb..88a2e62f46 100644 --- a/tests/phpunit/includes/api/query/ApiQueryTest.php +++ b/tests/phpunit/includes/api/query/ApiQueryTest.php @@ -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 * @@ -99,11 +112,11 @@ class ApiQueryTest extends ApiTestCase { $exceptionCaught = false; try { $this->assertEquals( $expected, $api->titlePartToKey( $titlePart, $namespace ) ); - } catch ( UsageException $e ) { + } catch ( ApiUsageException $e ) { $exceptionCaught = true; } $this->assertEquals( $expectException, $exceptionCaught, - 'UsageException thrown by titlePartToKey' ); + 'ApiUsageException thrown by titlePartToKey' ); } function provideTestTitlePartToKey() { @@ -123,21 +136,16 @@ class ApiQueryTest extends ApiTestCase { * Test if all classes in the query module manager exists */ public function testClassNamesInModuleManager() { - global $wgAutoloadLocalClasses, $wgAutoloadClasses; - - // wgAutoloadLocalClasses has precedence, just like in includes/AutoLoader.php - $classes = $wgAutoloadLocalClasses + $wgAutoloadClasses; - $api = new ApiMain( new FauxRequest( [ 'action' => 'query', 'meta' => 'siteinfo' ] ) ); $queryApi = new ApiQuery( $api, 'query' ); $modules = $queryApi->getModuleManager()->getNamesWithClasses(); + foreach ( $modules as $name => $class ) { - $this->assertArrayHasKey( - $class, - $classes, - 'Class ' . $class . ' for api module ' . $name . ' not in autoloader (with exact case)' + $this->assertTrue( + class_exists( $class ), + 'Class ' . $class . ' for api module ' . $name . ' does not exist (with exact case)' ); } }