This is the wrong configuration format for such a feature, and the wrong interface. We already have certain per-namespace permissions in the Title class, and we didn't need to add extra formal parameters to a whole lot of User methods in order to get them. The feature should be implemented wholly in Title, and the concept of user rights should remain relatively simple and easy to understand, and independent of its many applications, i.e. a user either has a right or doesn't. Rights are just a tool for developing access policies; the complexity should be in the caller. The revert was mostly done by hand, since there were a lot of conflicts. I tried to preserve the gist of conflicting changes in r102187 and r102873. The test changes are not simple reverts, rather I just edited out the per-namespace tests. I reverted the followups r92589 and r104310.
34 lines
1.1 KiB
PHP
34 lines
1.1 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @group Database
|
|
*/
|
|
class ArticleTablesTest extends MediaWikiLangTestCase {
|
|
|
|
function testbug14404() {
|
|
global $wgUser, $wgContLang, $wgLanguageCode, $wgLang;
|
|
|
|
$title = Title::newFromText("Bug 14404");
|
|
$article = new Article( $title );
|
|
$wgUser = new User();
|
|
$wgUser->mRights = array( 'createpage', 'edit', 'purge' );
|
|
$wgLanguageCode = 'es';
|
|
$wgContLang = Language::factory( 'es' );
|
|
|
|
$wgLang = Language::factory( 'fr' );
|
|
$status = $article->doEdit( '{{:{{int:history}}}}', 'Test code for bug 14404', 0 );
|
|
$templates1 = $article->getUsedTemplates();
|
|
|
|
$wgLang = Language::factory( 'de' );
|
|
$article->mParserOptions = null; // Let it pick the new user language
|
|
$article->mPreparedEdit = false; // In order to force the rerendering of the same wikitext
|
|
|
|
// We need an edit, a purge is not enough to regenerate the tables
|
|
$status = $article->doEdit( '{{:{{int:history}}}}', 'Test code for bug 14404', EDIT_UPDATE );
|
|
$templates2 = $article->getUsedTemplates();
|
|
|
|
$this->assertEquals( $templates1, $templates2 );
|
|
$this->assertEquals( $templates1[0]->getFullText(), 'Historial' );
|
|
}
|
|
|
|
}
|