Legoktm has uploaded a new change for review.
https://gerrit.wikimedia.org/r/310170
Change subject: Improve test coverage
......................................................................
Improve test coverage
And move ksort() call into Babel::getUserLanguageInfo() instead of doing
it in the API.
Change-Id: Ib29050d3fd9d60ee4e13d7fa33afef8971c217a0
---
M Babel.class.php
M includes/ApiQueryBabel.php
M tests/phpunit/BabelTest.php
3 files changed, 26 insertions(+), 8 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Babel
refs/changes/70/310170/1
diff --git a/Babel.class.php b/Babel.class.php
index f6d1c95..f690b61 100644
--- a/Babel.class.php
+++ b/Babel.class.php
@@ -324,12 +324,15 @@
global $wgBabelMainCategory, $wgBabelUseDatabase;
if ( $wgBabelUseDatabase ) {
- return self::getUserLanguagesDB( $user );
+ $result = self::getUserLanguagesDB( $user );
} elseif ( $wgBabelMainCategory ) {
- return self::getUserLanguagesCat( $user );
+ $result = self::getUserLanguagesCat( $user );
} else {
return [];
}
+
+ ksort( $result );
+ return $result;
}
/**
diff --git a/includes/ApiQueryBabel.php b/includes/ApiQueryBabel.php
index 66dfbb3..6947168 100644
--- a/includes/ApiQueryBabel.php
+++ b/includes/ApiQueryBabel.php
@@ -44,9 +44,6 @@
$data = Babel::getUserLanguageInfo( $user );
// Force a JSON object
$data[ApiResult::META_TYPE] = 'assoc';
- // Order may differer depending upon backend, let's
- // be consistent for pretty-ness.
- ksort( $data );
$this->getResult()->addValue(
'query',
diff --git a/tests/phpunit/BabelTest.php b/tests/phpunit/BabelTest.php
index 9195dd1..0398bcc 100644
--- a/tests/phpunit/BabelTest.php
+++ b/tests/phpunit/BabelTest.php
@@ -37,7 +37,7 @@
$user = User::newFromName( 'User-1' );
$user->addToDatabase();
$title = $user->getUserPage();
- $this->insertPage( $title->getPrefixedText(), '{{#babel:en-1}}'
);
+ $this->insertPage( $title->getPrefixedText(),
'{{#babel:en-1|es-2|de}}' );
$page = WikiPage::factory( $title );
// Force a run of LinksUpdate
$updates = $page->getContent()->getSecondaryDataUpdates( $title
);
@@ -221,10 +221,26 @@
public function testGetUserLanguages( $settings ) {
$this->setMwGlobals( $settings );
$user = User::newFromName( 'User-1' );
- $languages = Babel::getUserLanguages( $user );
$this->assertSame( [
+ 'de',
'en',
- ], $languages );
+ 'es',
+ ], Babel::getUserLanguages( $user ) );
+
+ // Filter based on level
+ $this->assertSame( [
+ 'de',
+ 'es',
+ ], Babel::getUserLanguages( $user, '2' ) );
+
+ $this->assertSame( [
+ 'de',
+ ], Babel::getUserLanguages( $user, '3' ) );
+
+ // Non-numerical level
+ $this->assertSame( [
+ 'de',
+ ], Babel::getUserLanguages( $user, 'N' ) );
}
/**
@@ -235,7 +251,9 @@
$user = User::newFromName( 'User-1' );
$languages = Babel::getUserLanguageInfo( $user );
$this->assertSame( [
+ 'de' => 'N',
'en' => '1',
+ 'es' => '2',
], $languages );
}
}
--
To view, visit https://gerrit.wikimedia.org/r/310170
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib29050d3fd9d60ee4e13d7fa33afef8971c217a0
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Babel
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits