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