wiki.techinc.nl/tests/phpunit/includes/ArticleTablesTest.php
Bryan Tong Minh 1fb5d73612 First steps for bug 14801: add backend support for per-namespace permissions to core. This extends $wgGroupPermissions syntax from $wgGroupPermissions[$group][$right] = bool to $wgGroupPermissions[$group][$right] = array( NS_X => bool ). This is safely backwards compatible; the booleans are still fully supported, and any unset namespace will default to false.
* User::getRights(), User::isAllowed() and User::getGroupPermissions now optionally accept a namespace parameter. If not set, it will check whether the user has the right for all namespaces.
* Anything that uses Title::getUserPermissionsErrorsInternal() automatically supports per-namespace permissions. This includes Title::getUserPermissionsErrors and Title::(quick)UserCan.
* Fix tests that set User::mRights

The next step would be to change all User::isAllowed() to Title::quickUserCan or pass the namespace to User::isAllowed().
2011-07-16 16:09:00 +00:00

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' );
}
}