jenkins-bot has submitted this change and it was merged.
Change subject: Don't get extra languages for anon users
......................................................................
Don't get extra languages for anon users
Bug: 49079
Change-Id: I75b95c7a2aaa80273d58ac6ed3a8709d378b5190
---
M repo/includes/EntityViewPlaceholderExpander.php
M repo/tests/phpunit/includes/EntityViewPlaceholderExpanderTest.php
2 files changed, 32 insertions(+), 10 deletions(-)
Approvals:
Daniel Kinzler: Verified; Looks good to me, approved
jenkins-bot: Verified
diff --git a/repo/includes/EntityViewPlaceholderExpander.php
b/repo/includes/EntityViewPlaceholderExpander.php
index 3041e2f..bb78a71 100644
--- a/repo/includes/EntityViewPlaceholderExpander.php
+++ b/repo/includes/EntityViewPlaceholderExpander.php
@@ -99,9 +99,14 @@
*/
public function getExtraUserLanguages() {
if ( $this->extraLanguages === null ) {
- // ignore current interface language
- $skip = array( $this->uiLanguage->getCode() );
- $this->extraLanguages =
$this->userLanguageLookup->getUserLanguages( $this->user, $skip );
+ if ( $this->user->isAnon() ) {
+ // no extra languages for anon user
+ $this->extraLanguages = array();
+ } else {
+ // ignore current interface language
+ $skip = array( $this->uiLanguage->getCode() );
+ $this->extraLanguages =
$this->userLanguageLookup->getUserLanguages( $this->user, $skip );
+ }
}
return $this->extraLanguages;
diff --git a/repo/tests/phpunit/includes/EntityViewPlaceholderExpanderTest.php
b/repo/tests/phpunit/includes/EntityViewPlaceholderExpanderTest.php
index 507b6ed..df81fd9 100644
--- a/repo/tests/phpunit/includes/EntityViewPlaceholderExpanderTest.php
+++ b/repo/tests/phpunit/includes/EntityViewPlaceholderExpanderTest.php
@@ -23,11 +23,8 @@
*/
class EntityViewPlaceholderExpanderTest extends \MediaWikiTestCase {
- protected function newExpander() {
+ protected function newExpander( $user ) {
$title = new Title(
'EntityViewPlaceholderExpanderTest-DummyTitleForLocalUrls' );
-
- $user = new User();
- $user->setName( 'EntityViewPlaceholderExpanderTest-DummyUser' );
$language = Language::factory( 'en' );
@@ -70,8 +67,20 @@
);
}
+ private function newUser( $isAnon ) {
+ $user = $this->getMockBuilder( '\User' )
+ ->disableOriginalConstructor()
+ ->getMock();
+ $user->expects( $this->any() )
+ ->method( 'isAnon' )
+ ->will( $this->returnValue( $isAnon ) );
+ $user->setName( 'EntityViewPlaceholderExpanderTest-DummyUser' );
+
+ return $user;
+ }
+
public function testGetHtmlForPlaceholder() {
- $expander = $this->newExpander();
+ $expander = $this->newExpander( $this->newUser( false ) );
$html = $expander->getHtmlForPlaceholder( 'termbox-toc' );
$this->assertInternalType( 'string', $html );
@@ -81,7 +90,7 @@
}
public function testRenderTermBoxTocEntry() {
- $expander = $this->newExpander();
+ $expander = $this->newExpander( $this->newUser( false ) );
// According to the mock objects, this should generate a term
box for
// 'de' and 'ru', since 'en' is already covered by the
interface language.
@@ -91,7 +100,7 @@
}
public function renderTermBox() {
- $expander = $this->newExpander();
+ $expander = $this->newExpander( $this->newUser( false ) );
// According to the mock objects, this should generate a term
box for
// 'de' and 'ru', since 'en' is already covered by the
interface language.
@@ -104,4 +113,12 @@
$this->assertNotRegExp( '/Capitol/', $html );
}
+ public function testGetExtraUserLanguages() {
+ $expander = $this->newExpander( $this->newUser( true ) );
+ $this->assertArrayEquals( array(),
$expander->getExtraUserLanguages() );
+
+ $expander = $this->newExpander( $this->newUser( false ) );
+ $this->assertArrayEquals( array( 'de', 'en', 'ru' ),
$expander->getExtraUserLanguages() );
+ }
+
}
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/106689
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I75b95c7a2aaa80273d58ac6ed3a8709d378b5190
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Tobias Gritschacher <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: Henning Snater <[email protected]>
Gerrit-Reviewer: Jeroen De Dauw <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits