Merge "Add SPARQL client to core"
[lhc/web/wiklou.git] / tests / phpunit / includes / api / query / ApiQueryTest.php
index 8cb2327..88a2e62 100644 (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
         *
@@ -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)'
                        );
                }
        }