make sure we test normalization against normalized title
authorAntoine Musso <hashar@users.mediawiki.org>
Mon, 30 Jan 2012 15:54:46 +0000 (15:54 +0000)
committerAntoine Musso <hashar@users.mediawiki.org>
Mon, 30 Jan 2012 15:54:46 +0000 (15:54 +0000)
This patch fix ApiQueryTest::testTitlesGetNormalized() when $wgMetaNamespace
would contains space / underscore.

Example:
-8<-------------8<------------8<------------------8<----------8<------
1) ApiQueryTest::testTitlesGetNormalized
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
     'from' => 'Project:articleA'
-    'to' => 'My_Project:ArticleA'
+    'to' => 'My Project:ArticleA'
 )
-8<-------------8<------------8<------------------8<----------8<------

This patch use Title class logic to forge a normalized title instead of
manually creating it by appending two strings.

Final fix to bug 33663 (comment 21):
https://bugzilla.wikimedia.org/show_bug.cgi?id=33663#c21

tests/phpunit/includes/api/ApiQueryTest.php

index e838acf..ae05a30 100644 (file)
@@ -22,10 +22,13 @@ class ApiQueryTest extends ApiTestCase {
                $this->assertArrayHasKey( 'query', $data[0] );
                $this->assertArrayHasKey( 'normalized', $data[0]['query'] );
 
+               // Forge a normalized title
+               $to = Title::newFromText( $wgMetaNamespace.':ArticleA' );
+
                $this->assertEquals(
                        array(
                                'from' => 'Project:articleA',
-                               'to' => $wgMetaNamespace . ':ArticleA'
+                               'to' => $to->getPrefixedText(),
                        ),
                        $data[0]['query']['normalized'][0]
                );