jenkins-bot has submitted this change and it was merged.

Change subject: New Wikidata Build - 2015-08-21T10:00:01+0000
......................................................................


New Wikidata Build - 2015-08-21T10:00:01+0000

Change-Id: I56aa2f357a36807cad3a3951b5d593297d976f65
---
M composer.lock
A extensions/Wikibase/lib/i18n/olo.json
M extensions/Wikibase/lib/includes/store/EntityRevisionLookup.php
R 
extensions/Wikibase/lib/includes/store/LanguageFallbackLabelDescriptionLookupFactory.php
M extensions/Wikibase/lib/includes/store/UnresolvedRedirectException.php
M extensions/Wikibase/lib/includes/store/sql/WikiPageEntityRevisionLookup.php
M extensions/Wikibase/lib/tests/phpunit/MockRepository.php
M extensions/Wikibase/lib/tests/phpunit/MockRepositoryTest.php
M extensions/Wikibase/lib/tests/phpunit/parsers/TimeParserFactoryTest.php
R 
extensions/Wikibase/lib/tests/phpunit/store/LanguageFallbackLabelDescriptionLookupFactoryTest.php
A extensions/Wikibase/repo/i18n/olo.json
M extensions/Wikibase/repo/i18n/zh-hans.json
M extensions/Wikibase/repo/includes/Diff/DiffView.php
M extensions/Wikibase/repo/includes/EntityParserOutputGenerator.php
M extensions/Wikibase/repo/includes/Interactors/ItemMergeInteractor.php
M extensions/Wikibase/repo/includes/SummaryFormatter.php
M extensions/Wikibase/repo/includes/WikibaseRepo.php
M extensions/Wikibase/repo/includes/specials/SpecialListProperties.php
M extensions/Wikibase/repo/includes/specials/SpecialSetSiteLink.php
M 
extensions/Wikibase/repo/tests/phpunit/includes/ChangeOp/ChangeOpAliasesTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/SummaryFormatterTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/WikibaseRepoTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/api/GetEntitiesTest.php
M 
extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialListPropertiesTest.php
M extensions/Wikibase/view/resources/wikibase/resources.php
A extensions/Wikibase/view/resources/wikibase/wikibase.mobile.css
M vendor/composer/autoload_classmap.php
M vendor/composer/installed.json
28 files changed, 277 insertions(+), 84 deletions(-)

Approvals:
  JanZerebecki: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/composer.lock b/composer.lock
index d622d91..850ea9b 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1379,12 +1379,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-                "reference": "9fca36dcc6c1c16ce94f540ae9123cb8a7f15fc1"
+                "reference": "86cdfa4e0fdc2408de3258e6755ecb38cb4a3fb4"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/9fca36dcc6c1c16ce94f540ae9123cb8a7f15fc1";,
-                "reference": "9fca36dcc6c1c16ce94f540ae9123cb8a7f15fc1",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/86cdfa4e0fdc2408de3258e6755ecb38cb4a3fb4";,
+                "reference": "86cdfa4e0fdc2408de3258e6755ecb38cb4a3fb4",
                 "shasum": ""
             },
             "require": {
@@ -1453,7 +1453,7 @@
                 "wikibaserepo",
                 "wikidata"
             ],
-            "time": "2015-08-20 08:26:34"
+            "time": "2015-08-21 06:15:22"
         },
         {
             "name": "wikibase/wikimedia-badges",
diff --git a/extensions/Wikibase/lib/i18n/olo.json 
b/extensions/Wikibase/lib/i18n/olo.json
new file mode 100644
index 0000000..f92ff86
--- /dev/null
+++ b/extensions/Wikibase/lib/i18n/olo.json
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Denö"
+               ]
+       },
+       "wikibase-sitelinks-wikipedia": "Wikipedii"
+}
diff --git a/extensions/Wikibase/lib/includes/store/EntityRevisionLookup.php 
b/extensions/Wikibase/lib/includes/store/EntityRevisionLookup.php
index 10763fc..a08b13f 100644
--- a/extensions/Wikibase/lib/includes/store/EntityRevisionLookup.php
+++ b/extensions/Wikibase/lib/includes/store/EntityRevisionLookup.php
@@ -45,7 +45,7 @@
         *        to indicate that the latest revision is required. 
LATEST_FROM_MASTER would force the
         *        revision to be determined from the canonical master database.
         *
-        * @throws StorageException
+        * @throws StorageException|UnresolvedRedirectException
         * @return EntityRevision|null
         */
        public function getEntityRevision( EntityId $entityId, $revisionId = 
self::LATEST_FROM_SLAVE );
diff --git 
a/extensions/Wikibase/repo/includes/LanguageFallbackLabelDescriptionLookupFactory.php
 
b/extensions/Wikibase/lib/includes/store/LanguageFallbackLabelDescriptionLookupFactory.php
similarity index 98%
rename from 
extensions/Wikibase/repo/includes/LanguageFallbackLabelDescriptionLookupFactory.php
rename to 
extensions/Wikibase/lib/includes/store/LanguageFallbackLabelDescriptionLookupFactory.php
index 62f050d..dfe0a69 100644
--- 
a/extensions/Wikibase/repo/includes/LanguageFallbackLabelDescriptionLookupFactory.php
+++ 
b/extensions/Wikibase/lib/includes/store/LanguageFallbackLabelDescriptionLookupFactory.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace Wikibase\Repo;
+namespace Wikibase\Lib\Store;
 
 use Language;
 use Wikibase\DataModel\Entity\EntityId;
diff --git 
a/extensions/Wikibase/lib/includes/store/UnresolvedRedirectException.php 
b/extensions/Wikibase/lib/includes/store/UnresolvedRedirectException.php
index f8eb87d..5bbfc8c 100644
--- a/extensions/Wikibase/lib/includes/store/UnresolvedRedirectException.php
+++ b/extensions/Wikibase/lib/includes/store/UnresolvedRedirectException.php
@@ -2,6 +2,7 @@
 
 namespace Wikibase\Lib\Store;
 
+use Exception;
 use Wikibase\DataModel\Entity\EntityId;
 
 /**
@@ -11,7 +12,7 @@
  * @license GPL 2+
  * @author Daniel Kinzler
  */
-class UnresolvedRedirectException extends StorageException {
+class UnresolvedRedirectException extends Exception {
 
        /**
         * @var EntityId
diff --git 
a/extensions/Wikibase/lib/includes/store/sql/WikiPageEntityRevisionLookup.php 
b/extensions/Wikibase/lib/includes/store/sql/WikiPageEntityRevisionLookup.php
index e12ff47..32362f9 100644
--- 
a/extensions/Wikibase/lib/includes/store/sql/WikiPageEntityRevisionLookup.php
+++ 
b/extensions/Wikibase/lib/includes/store/sql/WikiPageEntityRevisionLookup.php
@@ -55,7 +55,7 @@
         * @param EntityId $entityId
         * @param int|string $revisionId The desired revision id, or 
LATEST_FROM_SLAVE or LATEST_FROM_MASTER.
         *
-        * @throws StorageException
+        * @throws StorageException|UnresolvedRedirectException
         * @return EntityRevision|null
         */
        public function getEntityRevision( EntityId $entityId, $revisionId = 
self::LATEST_FROM_SLAVE ) {
diff --git a/extensions/Wikibase/lib/tests/phpunit/MockRepository.php 
b/extensions/Wikibase/lib/tests/phpunit/MockRepository.php
index 20ed3b7..5199f3d 100644
--- a/extensions/Wikibase/lib/tests/phpunit/MockRepository.php
+++ b/extensions/Wikibase/lib/tests/phpunit/MockRepository.php
@@ -130,7 +130,7 @@
         * @param EntityId $entityId
         * @param int|string $revisionId The desired revision id, or 
LATEST_FROM_SLAVE or LATEST_FROM_MASTER.
         *
-        * @throws StorageException
+        * @throws StorageException|UnresolvedRedirectException
         * @return EntityRevision|null
         */
        public function getEntityRevision( EntityId $entityId, $revisionId = 
self::LATEST_FROM_SLAVE ) {
diff --git a/extensions/Wikibase/lib/tests/phpunit/MockRepositoryTest.php 
b/extensions/Wikibase/lib/tests/phpunit/MockRepositoryTest.php
index d8910bb..34060b4 100644
--- a/extensions/Wikibase/lib/tests/phpunit/MockRepositoryTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/MockRepositoryTest.php
@@ -648,8 +648,8 @@
                $redirect = new EntityRedirect( new ItemId( 'Q11' ), new 
ItemId( 'Q1' ) );
                $this->repo->putRedirect( $redirect );
 
+               $this->setExpectedException( 
'Wikibase\Lib\Store\UnresolvedRedirectException' );
                $this->repo->deleteEntity( $redirect->getEntityId(), 'testing', 
$GLOBALS['wgUser'] );
-               $this->assertNull( $this->repo->getEntity( 
$redirect->getEntityId() ) );
        }
 
        public function testUpdateWatchlist() {
diff --git 
a/extensions/Wikibase/lib/tests/phpunit/parsers/TimeParserFactoryTest.php 
b/extensions/Wikibase/lib/tests/phpunit/parsers/TimeParserFactoryTest.php
index c00d1d5..cc474f1 100644
--- a/extensions/Wikibase/lib/tests/phpunit/parsers/TimeParserFactoryTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/parsers/TimeParserFactoryTest.php
@@ -147,6 +147,8 @@
                         */
                        '1991 1 1' =>
                                array( '+1991-01-01T00:00:00Z' ),
+                       '1991 1 20' =>
+                               array( '+1991-01-20T00:00:00Z' ),
                        '2001 1 1' =>
                                array( '+2001-01-01T00:00:00Z' ),
                );
@@ -197,6 +199,8 @@
                        array( '1980UTC' ),
                        array( '1980 America/New_York' ),
                        array( '1980America/New_York' ),
+                       // A format YDM does not exist.
+                       array( '1991 20 1' ),
                        // No date parser should ever magically turn HMS times 
into dates.
                        array( '12:31:59' ),
                        array( '23:12:31' ),
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/LanguageFallbackLabelDescriptionLookupFactoryTest.php
 
b/extensions/Wikibase/lib/tests/phpunit/store/LanguageFallbackLabelDescriptionLookupFactoryTest.php
similarity index 92%
rename from 
extensions/Wikibase/repo/tests/phpunit/includes/LanguageFallbackLabelDescriptionLookupFactoryTest.php
rename to 
extensions/Wikibase/lib/tests/phpunit/store/LanguageFallbackLabelDescriptionLookupFactoryTest.php
index 8a0accd..22843be 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/LanguageFallbackLabelDescriptionLookupFactoryTest.php
+++ 
b/extensions/Wikibase/lib/tests/phpunit/store/LanguageFallbackLabelDescriptionLookupFactoryTest.php
@@ -6,10 +6,10 @@
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\LanguageFallbackChainFactory;
-use Wikibase\Repo\LanguageFallbackLabelDescriptionLookupFactory;
+use Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookupFactory;
 
 /**
- * @covers Wikibase\Repo\LanguageFallbackLabelDescriptionLookupFactory
+ * @covers Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookupFactory
  *
  * @license GPL v2+
  * @author Bene* < [email protected] >
diff --git a/extensions/Wikibase/repo/i18n/olo.json 
b/extensions/Wikibase/repo/i18n/olo.json
new file mode 100644
index 0000000..3fae415
--- /dev/null
+++ b/extensions/Wikibase/repo/i18n/olo.json
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Denö"
+               ]
+       },
+       "wikibase-edit": "korjata"
+}
diff --git a/extensions/Wikibase/repo/i18n/zh-hans.json 
b/extensions/Wikibase/repo/i18n/zh-hans.json
index 4aae548..5dc185b 100644
--- a/extensions/Wikibase/repo/i18n/zh-hans.json
+++ b/extensions/Wikibase/repo/i18n/zh-hans.json
@@ -505,7 +505,7 @@
        "apihelp-wbparsevalue-param-parser": "要使用的ValueParser的ID。<span 
class=\"apihelp-deprecated\">已弃用</span>。请改用数据类型参数。",
        "apihelp-wbparsevalue-param-datatype": "要解析的值的数据类型。确定解析器以使用。",
        "apihelp-wbparsevalue-param-values": "要解析的值",
-       "apihelp-wbparsevalue-example-1": "不对字符串的格式做出更改。",
+       "apihelp-wbparsevalue-example-1": "将一段无格式的字符串解析至一个StringValue对象中。",
        "apihelp-wbparsevalue-example-2": "解析1994-02-08为时间值对象,精度为9(年)。",
        "apihelp-wbparsevalue-example-3": 
"解析1994-02-08为时间值对象,精度为14(秒)并启用验证,返回验证失败。",
        "apihelp-wbremoveclaims-description": "移除Wikibase声称。",
diff --git a/extensions/Wikibase/repo/includes/Diff/DiffView.php 
b/extensions/Wikibase/repo/includes/Diff/DiffView.php
index c16df3d..8e8b62c 100644
--- a/extensions/Wikibase/repo/includes/Diff/DiffView.php
+++ b/extensions/Wikibase/repo/includes/Diff/DiffView.php
@@ -12,6 +12,7 @@
 use IContextSource;
 use InvalidArgumentException;
 use MWException;
+use Site;
 use SiteStore;
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\DataModel\Services\EntityId\EntityIdFormatter;
@@ -207,11 +208,19 @@
        private function getSiteLinkElement( $siteId, $pageName ) {
                $site = $this->siteStore->getSite( $siteId );
 
-               return Html::element( 'a', array(
-                       'href' => $site->getPageUrl( $pageName ),
-                       'hreflang' => $site->getLanguageCode(),
+               $tagName = 'span';
+               $attrs = array(
                        'dir' => 'auto',
-               ), $pageName );
+               );
+
+               if ( $site instanceof Site ) {
+                       // Otherwise it may have been deleted from the sites 
table
+                       $tagName = 'a';
+                       $attrs['href'] = $site->getPageUrl( $pageName );
+                       $attrs['hreflang'] = $site->getLanguageCode();
+               }
+
+               return Html::element( $tagName, $attrs, $pageName );
        }
 
        /**
diff --git a/extensions/Wikibase/repo/includes/EntityParserOutputGenerator.php 
b/extensions/Wikibase/repo/includes/EntityParserOutputGenerator.php
index 398f472..0402924 100644
--- a/extensions/Wikibase/repo/includes/EntityParserOutputGenerator.php
+++ b/extensions/Wikibase/repo/includes/EntityParserOutputGenerator.php
@@ -411,6 +411,10 @@
                // the JavaScript that is only necessary for editing.
                // Then load JavaScript accordingly depending on $editable.
                $parserOutput->addModules( 'wikibase.ui.entityViewInit' );
+
+               // Load mobile styles, which have targets => mobile
+               // and will only be loaded on mobile devices
+               $parserOutput->addModules( 'wikibase.mobile' );
        }
 
        /**
diff --git 
a/extensions/Wikibase/repo/includes/Interactors/ItemMergeInteractor.php 
b/extensions/Wikibase/repo/includes/Interactors/ItemMergeInteractor.php
index e566e20..4ee1349 100644
--- a/extensions/Wikibase/repo/includes/Interactors/ItemMergeInteractor.php
+++ b/extensions/Wikibase/repo/includes/Interactors/ItemMergeInteractor.php
@@ -14,6 +14,7 @@
 use Wikibase\Lib\Store\EntityRevisionLookup;
 use Wikibase\Lib\Store\EntityStore;
 use Wikibase\Lib\Store\StorageException;
+use Wikibase\Lib\Store\UnresolvedRedirectException;
 use Wikibase\Repo\Store\EntityPermissionChecker;
 use Wikibase\Summary;
 use Wikibase\SummaryFormatter;
@@ -212,6 +213,8 @@
                        return $revision->getEntity();
                } catch ( StorageException $ex ) {
                        throw new ItemMergeException( $ex->getMessage(), 
'cant-load-entity-content', $ex );
+               } catch ( UnresolvedRedirectException $ex ) {
+                       throw new ItemMergeException( $ex->getMessage(), 
'cant-load-entity-content', $ex );
                }
        }
 
diff --git a/extensions/Wikibase/repo/includes/SummaryFormatter.php 
b/extensions/Wikibase/repo/includes/SummaryFormatter.php
index a453b4b..deafa34 100644
--- a/extensions/Wikibase/repo/includes/SummaryFormatter.php
+++ b/extensions/Wikibase/repo/includes/SummaryFormatter.php
@@ -14,7 +14,6 @@
 use Wikibase\DataModel\Services\EntityId\EntityIdParsingException;
 use Wikibase\DataModel\Snak\Snak;
 use Wikibase\Lib\SnakFormatter;
-use Wikibase\Repo\WikibaseRepo;
 
 /**
  * Formatter for Summary objects
@@ -26,6 +25,7 @@
  * @author John Erling Blad
  * @author Daniel Kinzler
  * @author Tobias Gritschacher < [email protected] >
+ * @author Adam Shorland
  */
 class SummaryFormatter {
 
@@ -64,8 +64,12 @@
         *
         * @throws InvalidArgumentException
         */
-       public function __construct( EntityIdFormatter $idFormatter, 
ValueFormatter $valueFormatter,
-               SnakFormatter $snakFormatter, Language $language, 
EntityIdParser $idParser
+       public function __construct(
+               EntityIdFormatter $idFormatter,
+               ValueFormatter $valueFormatter,
+               SnakFormatter $snakFormatter,
+               Language $language,
+               EntityIdParser $idParser
        ) {
                if ( $snakFormatter->getFormat() !== 
SnakFormatter::FORMAT_PLAIN ) {
                        throw new InvalidArgumentException(
@@ -239,33 +243,32 @@
        /**
         * Merge the total summary
         *
-        * @param string $comment autocomment part, will be placed in a block 
comment
-        * @param string $summary human readable string to be appended after 
the autocomment part
+        * @param string $autoComment autocomment part, will be placed in a 
block comment
+        * @param string $autoSummary human readable string to be appended 
after the autocomment part
+        * @param string $userSummary user provided summary to be appended 
after the autoSummary
         *
         * @return string to be used for the summary
         */
-       private function assembleSummaryString( $comment, $summary ) {
-               $normalizer = 
WikibaseRepo::getDefaultInstance()->getStringNormalizer();
-
-               $comment = $normalizer->trimToNFC( $comment );
-               $summary = $normalizer->trimToNFC( $summary );
+       private function assembleSummaryString( $autoComment, $autoSummary, 
$userSummary ) {
                $mergedString = '';
-               if ( $comment !== '' ) {
-                       $mergedString .=  '/* ' . $comment . ' */';
+               $autoComment = $this->stringNormalizer->trimToNFC( $autoComment 
);
+               $autoSummary = $this->stringNormalizer->trimToNFC( $autoSummary 
);
+               $userSummary = $this->stringNormalizer->trimToNFC( $userSummary 
);
+
+               if ( $autoComment !== '' ) {
+                       $mergedString .=  '/* ' . $autoComment . ' */ ';
                }
-               if ( $summary !== '' ) {
-                       if ( $mergedString !== '' ) {
-                               // Having a space after the comment is commonly 
known from section edits
-                               $mergedString .= ' ';
-                       }
-                       $mergedString .= $this->language->truncate(
-                               $summary,
-                               SUMMARY_MAX_LENGTH - strlen( $mergedString )
-                       );
+
+               if ( $autoSummary !== '' && $userSummary !== '' ) {
+                       $mergedString .= $this->language->commaList( array( 
$autoSummary, $userSummary ) );
+               } elseif ( $autoSummary !== '' ) {
+                       $mergedString .= $autoSummary;
+               } elseif ( $userSummary !== '' ) {
+                       $mergedString .= $userSummary;
                }
 
                // leftover entities should be removed, but its not clear how 
this shall be done
-               return $mergedString;
+               return $this->language->truncate( rtrim( $mergedString ), 
SUMMARY_MAX_LENGTH );
        }
 
        /**
@@ -280,18 +283,11 @@
        public function formatSummary( Summary $summary ) {
                $userSummary = $summary->getUserSummary();
 
-               if ( !is_null( $userSummary ) ) {
-                       $autoSummary = $userSummary;
-               } else {
-                       $autoSummary = self::formatAutoSummary( $summary );
-               }
-
-               $autoComment = $this->formatAutoComment( $summary );
-               $autoComment = $this->stringNormalizer->trimToNFC( $autoComment 
);
-               $autoSummary = $this->stringNormalizer->trimToNFC( $autoSummary 
);
-
-               $totalSummary = self::assembleSummaryString( $autoComment, 
$autoSummary );
-               return $totalSummary;
+               return $this->assembleSummaryString(
+                       $this->formatAutoComment( $summary ),
+                       $this->formatAutoSummary( $summary ),
+                       $userSummary === null ? '' : $userSummary
+               );
        }
 
 }
diff --git a/extensions/Wikibase/repo/includes/WikibaseRepo.php 
b/extensions/Wikibase/repo/includes/WikibaseRepo.php
index cadd785..7d1c663 100644
--- a/extensions/Wikibase/repo/includes/WikibaseRepo.php
+++ b/extensions/Wikibase/repo/includes/WikibaseRepo.php
@@ -57,6 +57,7 @@
 use Wikibase\Lib\Store\EntityStore;
 use Wikibase\Lib\Store\EntityStoreWatcher;
 use Wikibase\Lib\Store\EntityTitleLookup;
+use Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookupFactory;
 use Wikibase\Lib\WikibaseContentLanguages;
 use Wikibase\Lib\WikibaseDataTypeBuilders;
 use Wikibase\Lib\WikibaseSnakFormatterBuilders;
diff --git 
a/extensions/Wikibase/repo/includes/specials/SpecialListProperties.php 
b/extensions/Wikibase/repo/includes/specials/SpecialListProperties.php
index 1c31a6f..2d55c3c 100644
--- a/extensions/Wikibase/repo/includes/specials/SpecialListProperties.php
+++ b/extensions/Wikibase/repo/includes/specials/SpecialListProperties.php
@@ -7,7 +7,7 @@
 use Wikibase\DataModel\Entity\PropertyId;
 use Wikibase\DataTypeSelector;
 use Wikibase\PropertyInfoStore;
-use Wikibase\Repo\LanguageFallbackLabelDescriptionLookupFactory;
+use Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookupFactory;
 use Wikibase\Repo\WikibaseRepo;
 use Wikibase\View\EntityIdFormatterFactory;
 
diff --git a/extensions/Wikibase/repo/includes/specials/SpecialSetSiteLink.php 
b/extensions/Wikibase/repo/includes/specials/SpecialSetSiteLink.php
index e8fdb74..fa618c9 100644
--- a/extensions/Wikibase/repo/includes/specials/SpecialSetSiteLink.php
+++ b/extensions/Wikibase/repo/includes/specials/SpecialSetSiteLink.php
@@ -11,7 +11,7 @@
 use Wikibase\DataModel\Entity\Entity;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\ItemId;
-use Wikibase\Repo\LanguageFallbackLabelDescriptionLookupFactory;
+use Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookupFactory;
 use Wikibase\Repo\SiteLinkTargetProvider;
 use Wikibase\Repo\WikibaseRepo;
 use Wikibase\Summary;
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/ChangeOp/ChangeOpAliasesTest.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/ChangeOp/ChangeOpAliasesTest.php
index 811aaaa..edeb72a 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/ChangeOp/ChangeOpAliasesTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/ChangeOp/ChangeOpAliasesTest.php
@@ -4,7 +4,6 @@
 
 use InvalidArgumentException;
 use Wikibase\ChangeOp\ChangeOpAliases;
-use Wikibase\DataModel\Entity\Entity;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\ItemContent;
 
@@ -78,21 +77,27 @@
                        'remove' => array(
                                unserialize( serialize( $entity ) ),
                                new ChangeOpAliases( 'en', $existingEnAliases, 
'remove', $validatorFactory ),
-                               array()
+                               null
                        ),
                );
        }
 
        /**
         * @dataProvider changeOpAliasesProvider
-        *
-        * @param Entity $entity
-        * @param ChangeOpAliases $changeOpAliases
-        * @param string $expectedAliases
         */
-       public function testApply( $entity, $changeOpAliases, $expectedAliases 
) {
-               $changeOpAliases->apply( $entity );
-               $this->assertEquals( $expectedAliases, $entity->getAliases( 
'en' ) );
+       public function testApply(
+               Item $item,
+               ChangeOpAliases $changeOpAliases,
+               array $expectedAliases = null
+       ) {
+               $changeOpAliases->apply( $item );
+               $fingerprint = $item->getFingerprint();
+
+               if ( $expectedAliases === null ) {
+                       $this->assertFalse( $fingerprint->hasAliasGroup( 'en' ) 
);
+               } else {
+                       $this->assertEquals( $expectedAliases, 
$fingerprint->getAliasGroup( 'en' )->getAliases() );
+               }
        }
 
        public function validateProvider() {
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/SummaryFormatterTest.php 
b/extensions/Wikibase/repo/tests/phpunit/includes/SummaryFormatterTest.php
index ddd0156..908dfec 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/SummaryFormatterTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/SummaryFormatterTest.php
@@ -377,7 +377,7 @@
                                array( 'x', 'y' ),
                                array( 'A', 'B' ),
                                'can I haz world domination?',
-                               '/* summarytest-testing:2|nl|x|y */ can I haz 
world domination?'
+                               '/* summarytest-testing:2|nl|x|y */ A, B, can I 
haz world domination?'
                        ),
                        'Trimming' => array(
                                'summarytest',
@@ -386,7 +386,7 @@
                                array( ' autoArg0 ', ' autoArg1 ' ),
                                array( ' userArg0 ', ' userArg1 ' ),
                                ' userSummary ',
-                               '/* summarytest-testing:2|de| autoArg0 | 
autoArg1 */ userSummary'
+                               '/* summarytest-testing:2|de| autoArg0 | 
autoArg1 */ userArg0 ,  userArg1, userSummary'
                        ),
                        'User summary only' => array(
                                'summarytest',
@@ -397,6 +397,24 @@
                                'can I haz world domination?',
                                '/* summarytest:0| */ can I haz world 
domination?'
                        ),
+                       'User summary w/o arguments' => array(
+                               'summarytest',
+                               'testing',
+                               'de',
+                               array( 'autoArg0', 'autoArg1' ),
+                               null,
+                               'userSummary',
+                               '/* summarytest-testing:0|de|autoArg0|autoArg1 
*/ userSummary'
+                       ),
+                       'User summary w/o auto comment arguments' => array(
+                               'summarytest',
+                               'testing',
+                               'de',
+                               null,
+                               array( 'userArg0', 'userArg1' ),
+                               'userSummary',
+                               '/* summarytest-testing:2|de */ userArg0, 
userArg1, userSummary'
+                       ),
                        'Array arguments' => array(
                                'summarytest',
                                'testing',
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/WikibaseRepoTest.php 
b/extensions/Wikibase/repo/tests/phpunit/includes/WikibaseRepoTest.php
index 319183c..8b67403 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/WikibaseRepoTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/WikibaseRepoTest.php
@@ -91,7 +91,7 @@
 
        public function testGetLanguageFallbackLabelDescriptionLookupFactory() {
                $returnValue = 
$this->getWikibaseRepo()->getLanguageFallbackLabelDescriptionLookupFactory();
-               $this->assertInstanceOf( 
'Wikibase\Repo\LanguageFallbackLabelDescriptionLookupFactory', $returnValue );
+               $this->assertInstanceOf( 
'Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookupFactory', 
$returnValue );
        }
 
        public function testGetStatementGuidValidator() {
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/api/GetEntitiesTest.php 
b/extensions/Wikibase/repo/tests/phpunit/includes/api/GetEntitiesTest.php
index c4b4dab..1c69fb7 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/api/GetEntitiesTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/api/GetEntitiesTest.php
@@ -435,7 +435,7 @@
 
        public function provideLanguageFallback() {
                return array(
-                       array(
+                       'Guangzhou Fallback' => array(
                                'Guangzhou',
                                array( 'de-formal', 'en', 'fr', 'yue', 'zh-cn', 
'zh-hk' ),
                                array(
@@ -490,7 +490,7 @@
 
                                ),
                        ),
-                       array(
+                       'Oslo Fallback' => array(
                                'Oslo',
                                array( 'sli', 'de-formal', 'kn', 'nb' ),
                                array(
@@ -536,26 +536,67 @@
                                        ),
                                ),
                        ),
+                       'Oslo Fallback - Labels Only' => array(
+                               'Oslo',
+                               array( 'sli', 'de-formal', 'kn', 'nb' ),
+                               array(
+                                       'sli' => array(
+                                               'language' => 'de',
+                                               'value' => 'Oslo',
+                                               'for-language' => 'sli',
+                                       ),
+                                       'de-formal' => array(
+                                               'language' => 'de',
+                                               'value' => 'Oslo',
+                                               'for-language' => 'de-formal',
+                                       ),
+                                       'kn' => array(
+                                               'language' => 'en',
+                                               'value' => 'Oslo',
+                                               'for-language' => 'kn',
+                                       ),
+                                       'nb' => array(
+                                               'language' => 'nb',
+                                               'value' => 'Oslo',
+                                       ),
+                               ),
+                               null,
+                               array( 'labels' )
+                       ),
                );
        }
 
        /**
         * @dataProvider provideLanguageFallback
         */
-       public function testLanguageFallback( $handle, $languages, 
$expectedLabels, $expectedDescriptions ) {
+       public function testLanguageFallback(
+               $handle,
+               $languages,
+               $expectedLabels = null,
+               $expectedDescriptions = null,
+               $props = array()
+       ) {
                $id = EntityTestHelper::getId( $handle );
 
-               list( $res,, ) = $this->doApiRequest(
-                       array(
-                               'action' => 'wbgetentities',
-                               'languages' => join( '|', $languages ),
-                               'languagefallback' => '',
-                               'ids' => $id,
-                       )
+               $params = array(
+                       'action' => 'wbgetentities',
+                       'languages' => join( '|', $languages ),
+                       'languagefallback' => '',
+                       'ids' => $id,
                );
 
-               $this->assertEquals( $expectedLabels, 
$res['entities'][$id]['labels'] );
-               $this->assertEquals( $expectedDescriptions, 
$res['entities'][$id]['descriptions'] );
+               if ( !empty( $props ) ) {
+                       $params['props'] = implode( '|', $props );
+               }
+
+               list( $res,, ) = $this->doApiRequest( $params );
+
+               if ( $expectedLabels !== null ) {
+                       $this->assertEquals( $expectedLabels, 
$res['entities'][$id]['labels'] );
+               }
+               if ( $expectedDescriptions !== null ) {
+                       $this->assertEquals( $expectedDescriptions, 
$res['entities'][$id]['descriptions'] );
+               }
        }
 
        public function testSiteLinkFilter() {
diff --git 
a/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialListPropertiesTest.php
 
b/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialListPropertiesTest.php
index f129b11..288b294 100644
--- 
a/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialListPropertiesTest.php
+++ 
b/extensions/Wikibase/repo/tests/phpunit/includes/specials/SpecialListPropertiesTest.php
@@ -12,7 +12,7 @@
 use Wikibase\Lib\LanguageNameLookup;
 use Wikibase\PropertyInfoStore;
 use Wikibase\Repo\EntityIdHtmlLinkFormatterFactory;
-use Wikibase\Repo\LanguageFallbackLabelDescriptionLookupFactory;
+use Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookupFactory;
 use Wikibase\Repo\Specials\SpecialListProperties;
 
 /**
diff --git a/extensions/Wikibase/view/resources/wikibase/resources.php 
b/extensions/Wikibase/view/resources/wikibase/resources.php
index 59d9383..b3b549d 100644
--- a/extensions/Wikibase/view/resources/wikibase/resources.php
+++ b/extensions/Wikibase/view/resources/wikibase/resources.php
@@ -37,6 +37,14 @@
                        )
                ),
 
+               'wikibase.mobile' => $moduleTemplate + array(
+                       'position' => 'top',
+                       'styles' => array(
+                               'wikibase.mobile.css'
+                       ),
+                       'targets' => 'mobile'
+               ),
+
                'wikibase.RevisionStore' => $moduleTemplate + array(
                        'scripts' => array(
                                'wikibase.RevisionStore.js',
diff --git a/extensions/Wikibase/view/resources/wikibase/wikibase.mobile.css 
b/extensions/Wikibase/view/resources/wikibase/wikibase.mobile.css
new file mode 100644
index 0000000..906e76b
--- /dev/null
+++ b/extensions/Wikibase/view/resources/wikibase/wikibase.mobile.css
@@ -0,0 +1,87 @@
+/**
+ * Styles specific to the mobile version of Wikibase.
+ *
+ * @since 0.5
+ *
+ * @license GNU GPL v2+
+ * @author Bene* < [email protected] >
+ */
+
+.wikibase-toolbar-container {
+       display: none;
+}
+
+.wikibase-title-id {
+       color: grey;
+       font-size: 0.6em;
+       margin-left: 0.4em;
+}
+
+.wikibase-entitytermsview-heading-aliases ul {
+       color: grey;
+       margin: 0;
+       word-wrap: break-word;
+}
+
+.wikibase-entitytermsview-heading-aliases li {
+       display: inline;
+}
+
+.wikibase-entitytermsview-heading-aliases li::before,
+.wikibase-entitytermsview-heading-aliases li:before {
+       content: '|';
+       padding: 0 0.4em;
+}
+
+.wikibase-entitytermsview-heading-aliases li:first-child:before {
+       content: '';
+       padding: 0;
+}
+
+.wikibase-entitytermsview-entitytermsforlanguagelistview {
+       display: none;
+}
+
+.wikibase-statementgrouplistview,
+.wikibase-sitelinklistview {
+       -webkit-column-width: 280px;
+       -moz-column-width: 280px;
+       column-width: 280px;
+}
+
+.wikibase-statementgroupview {
+       /* Same as toc */
+       background-color: #f9f9f9;
+       border: 1px solid #eee;
+       /* Prevent statementgroupview to be split among columns */
+       display: inline-block;
+       margin: 0 0 10px;
+       padding: 5px;
+       width: 100%;
+}
+
+.wikibase-statementgroupview-property-label a,
+.wikibase-snakview-property a {
+       color: #555;
+}
+
+.wikibase-statementview {
+       margin-bottom: 10px;
+}
+
+.wikibase-statementview-mainsnak .wikibase-snakview-value {
+       font-size: 1.2em;
+}
+
+.wikibase-snakview div {
+       display: inline;
+}
+
+.wikibase-statementview-references-container,
+.wikibase-statementview-qualifiers {
+       font-size: 0.8em;
+}
+
+.wikibase-referenceview {
+       margin: 5px 0;
+}
diff --git a/vendor/composer/autoload_classmap.php 
b/vendor/composer/autoload_classmap.php
index 30483a0..daf1c3b 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -713,6 +713,7 @@
     'Wikibase\\Lib\\Store\\HashSiteLinkStore' => $baseDir . 
'/extensions/Wikibase/lib/includes/store/HashSiteLinkStore.php',
     'Wikibase\\Lib\\Store\\LabelConflictFinder' => $baseDir . 
'/extensions/Wikibase/lib/includes/store/LabelConflictFinder.php',
     'Wikibase\\Lib\\Store\\LanguageFallbackLabelDescriptionLookup' => $baseDir 
. 
'/extensions/Wikibase/lib/includes/store/LanguageFallbackLabelDescriptionLookup.php',
+    'Wikibase\\Lib\\Store\\LanguageFallbackLabelDescriptionLookupFactory' => 
$baseDir . 
'/extensions/Wikibase/lib/includes/store/LanguageFallbackLabelDescriptionLookupFactory.php',
     'Wikibase\\Lib\\Store\\RedirectResolvingEntityLookup' => $baseDir . 
'/extensions/Wikibase/lib/includes/store/RedirectResolvingEntityLookup.php',
     'Wikibase\\Lib\\Store\\RevisionBasedEntityLookup' => $baseDir . 
'/extensions/Wikibase/lib/includes/store/RevisionBasedEntityLookup.php',
     'Wikibase\\Lib\\Store\\SiteLinkConflictLookup' => $baseDir . 
'/extensions/Wikibase/lib/includes/store/SiteLinkConflictLookup.php',
@@ -885,7 +886,6 @@
     'Wikibase\\Repo\\Interactors\\TokenCheckException' => $baseDir . 
'/extensions/Wikibase/repo/includes/Interactors/TokenCheckException.php',
     'Wikibase\\Repo\\Interactors\\TokenCheckInteractor' => $baseDir . 
'/extensions/Wikibase/repo/includes/Interactors/TokenCheckInteractor.php',
     'Wikibase\\Repo\\ItemSearchTextGenerator' => $baseDir . 
'/extensions/Wikibase/repo/includes/ItemSearchTextGenerator.php',
-    'Wikibase\\Repo\\LanguageFallbackLabelDescriptionLookupFactory' => 
$baseDir . 
'/extensions/Wikibase/repo/includes/LanguageFallbackLabelDescriptionLookupFactory.php',
     'Wikibase\\Repo\\LinkedData\\EntityDataFormatProvider' => $baseDir . 
'/extensions/Wikibase/repo/includes/LinkedData/EntityDataFormatProvider.php',
     'Wikibase\\Repo\\LinkedData\\EntityDataRequestHandler' => $baseDir . 
'/extensions/Wikibase/repo/includes/LinkedData/EntityDataRequestHandler.php',
     'Wikibase\\Repo\\LinkedData\\EntityDataSerializationService' => $baseDir . 
'/extensions/Wikibase/repo/includes/LinkedData/EntityDataSerializationService.php',
@@ -1137,7 +1137,7 @@
     'Wikibase\\Test\\LabelDescriptionDuplicateDetectorTest' => $baseDir . 
'/extensions/Wikibase/repo/tests/phpunit/includes/LabelDescriptionDuplicateDetectorTest.php',
     'Wikibase\\Test\\LanguageFallbackChainFactoryTest' => $baseDir . 
'/extensions/Wikibase/lib/tests/phpunit/LanguageFallbackChainFactoryTest.php',
     'Wikibase\\Test\\LanguageFallbackChainTest' => $baseDir . 
'/extensions/Wikibase/lib/tests/phpunit/LanguageFallbackChainTest.php',
-    'Wikibase\\Test\\LanguageFallbackLabelDescriptionLookupFactoryTest' => 
$baseDir . 
'/extensions/Wikibase/repo/tests/phpunit/includes/LanguageFallbackLabelDescriptionLookupFactoryTest.php',
+    'Wikibase\\Test\\LanguageFallbackLabelDescriptionLookupFactoryTest' => 
$baseDir . 
'/extensions/Wikibase/lib/tests/phpunit/store/LanguageFallbackLabelDescriptionLookupFactoryTest.php',
     'Wikibase\\Test\\LanguageFallbackLabelDescriptionLookupTest' => $baseDir . 
'/extensions/Wikibase/lib/tests/phpunit/store/LanguageFallbackLabelDescriptionLookupTest.php',
     'Wikibase\\Test\\LanguageWithConversionTest' => $baseDir . 
'/extensions/Wikibase/lib/tests/phpunit/LanguageWithConversionTest.php',
     'Wikibase\\Test\\Lib\\Serialization\\SerializationModifierTest' => 
$baseDir . 
'/extensions/Wikibase/lib/tests/phpunit/includes/serialization/SerializationModifierTest.php',
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index cf9555b..bb445c6 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1272,12 +1272,12 @@
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-            "reference": "9fca36dcc6c1c16ce94f540ae9123cb8a7f15fc1"
+            "reference": "86cdfa4e0fdc2408de3258e6755ecb38cb4a3fb4"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/9fca36dcc6c1c16ce94f540ae9123cb8a7f15fc1";,
-            "reference": "9fca36dcc6c1c16ce94f540ae9123cb8a7f15fc1",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/86cdfa4e0fdc2408de3258e6755ecb38cb4a3fb4";,
+            "reference": "86cdfa4e0fdc2408de3258e6755ecb38cb4a3fb4",
             "shasum": ""
         },
         "require": {
@@ -1308,7 +1308,7 @@
         "require-dev": {
             "squizlabs/php_codesniffer": "~2.1"
         },
-        "time": "2015-08-20 08:26:34",
+        "time": "2015-08-21 06:15:22",
         "type": "mediawiki-extension",
         "installation-source": "dist",
         "autoload": {

-- 
To view, visit https://gerrit.wikimedia.org/r/232914
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I56aa2f357a36807cad3a3951b5d593297d976f65
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Aude <[email protected]>
Gerrit-Reviewer: JanZerebecki <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: Tobias Gritschacher <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to