WikidataBuilder has uploaded a new change for review.
https://gerrit.wikimedia.org/r/205003
Change subject: New Wikidata Build - 2015-04-18T10:00:01+0000
......................................................................
New Wikidata Build - 2015-04-18T10:00:01+0000
Change-Id: I8dc3dfa8534e4206401ab01ee37b34f1dcf947f8
---
M composer.lock
M extensions/Wikibase/client/i18n/ast.json
M extensions/Wikibase/client/i18n/eo.json
M extensions/Wikibase/client/includes/api/PageTerms.php
M extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php
M extensions/Wikibase/client/tests/phpunit/includes/api/ApiClientInfoTest.php
M extensions/Wikibase/client/tests/phpunit/includes/api/PageTermsTest.php
M extensions/Wikibase/lib/i18n/ast.json
M extensions/Wikibase/lib/includes/formatters/WikibaseValueFormatterBuilders.php
M
extensions/Wikibase/lib/tests/phpunit/formatters/WikibaseValueFormatterBuildersTest.php
M extensions/Wikibase/repo/i18n/ast.json
M extensions/Wikibase/repo/i18n/eo.json
M extensions/Wikibase/repo/i18n/ko.json
M extensions/Wikibase/repo/i18n/yi.json
M extensions/Wikibase/repo/includes/api/ApiErrorReporter.php
M extensions/Wikibase/repo/includes/api/AvailableBadges.php
M extensions/Wikibase/repo/includes/api/GetEntities.php
M extensions/Wikibase/repo/includes/api/ParseValue.php
M extensions/Wikibase/repo/includes/api/ResultBuilder.php
M extensions/Wikibase/repo/includes/api/SearchEntities.php
M extensions/Wikibase/repo/includes/api/SetClaim.php
M extensions/Wikibase/repo/includes/specials/SpecialModifyTerm.php
M extensions/Wikibase/repo/includes/specials/SpecialNewItem.php
M extensions/Wikibase/repo/includes/specials/SpecialSetSiteLink.php
M extensions/Wikibase/repo/maintenance/pruneChanges.php
M extensions/Wikibase/repo/tests/phpunit/includes/api/ApiErrorReporterTest.php
M
extensions/Wikibase/repo/tests/phpunit/includes/api/CreateRedirectModuleTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/api/EntityTestHelper.php
M extensions/Wikibase/repo/tests/phpunit/includes/api/FormatSnakValueTest.php
M
extensions/Wikibase/repo/tests/phpunit/includes/api/IndependentWikibaseApiTestCase.php
M extensions/Wikibase/repo/tests/phpunit/includes/api/MergeItemsTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/api/ParseValueTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/api/ResultBuilderTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/api/SearchEntitiesTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/api/SetClaimTest.php
M extensions/Wikibase/repo/tests/phpunit/includes/api/WikibaseApiTestCase.php
M vendor/composer/installed.json
37 files changed, 341 insertions(+), 417 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata
refs/changes/03/205003/1
diff --git a/composer.lock b/composer.lock
index ebd44bd..fdc9935 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1209,12 +1209,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git",
- "reference": "f92b90659be189dc37baa16e46a0e3a3ea3b186c"
+ "reference": "891e7b3285cebc3154012228fdb117e87742fd8b"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/f92b90659be189dc37baa16e46a0e3a3ea3b186c",
- "reference": "f92b90659be189dc37baa16e46a0e3a3ea3b186c",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/891e7b3285cebc3154012228fdb117e87742fd8b",
+ "reference": "891e7b3285cebc3154012228fdb117e87742fd8b",
"shasum": ""
},
"require": {
@@ -1282,7 +1282,7 @@
"wikibaserepo",
"wikidata"
],
- "time": "2015-04-16 21:25:02"
+ "time": "2015-04-18 01:24:08"
},
{
"name": "wikibase/wikimedia-badges",
diff --git a/extensions/Wikibase/client/i18n/ast.json
b/extensions/Wikibase/client/i18n/ast.json
index 1e70b03..801debd 100644
--- a/extensions/Wikibase/client/i18n/ast.json
+++ b/extensions/Wikibase/client/i18n/ast.json
@@ -6,7 +6,6 @@
]
},
"wikibase-client-desc": "Cliente pa la estensión Wikibase",
- "specialpages-group-wikibaseclient": "Cliente de {{WBREPONAME}}",
"tooltip-t-wikibase": "Enllaz al elementu del depósitu de datos
coneutáu",
"wikibase-after-page-move": "Tamién pue [$1 anovar] l'elementu asociáu
de {{WBREPONAME}} pa caltener los enllaces d'idioma na páxina treslladada.",
"wikibase-after-page-move-queued": "L'[$1 elementu de {{WBREPONAME}}]
asociáu con esta páxina pronto s'actualizará automáticamente.",
@@ -44,6 +43,7 @@
"wikibase-rc-show-wikidata-pref": "Amosar les ediciones de
{{WBREPONAME}} nos cambios recientes",
"wikibase-rc-wikibase-edit-letter": "D",
"wikibase-rc-wikibase-edit-title": "Edición de {{WBREPONAME}}",
+ "wikibase-replicationnote": "Tenga en cuenta que puen pasar dellos
minutos fasta que los cambeos se vean en toles wikis",
"wikibase-watchlist-show-changes-pref": "Amosar les ediciones de
{{WBREPONAME}} na so llista de vixilancia",
"wikibase-error-serialize-error": "Falló la serialización de los datos",
"wikibase-error-invalid-entity-id": "La ID qu'escribió ye desconocida
pal sistema. Por favor, use una ID d'entidá válida.",
diff --git a/extensions/Wikibase/client/i18n/eo.json
b/extensions/Wikibase/client/i18n/eo.json
index dc8d4ab..4345927 100644
--- a/extensions/Wikibase/client/i18n/eo.json
+++ b/extensions/Wikibase/client/i18n/eo.json
@@ -15,7 +15,7 @@
"wikibase-comment-linked": "Vikidatuma ero estis ligita al ĉi tiu
paĝo.",
"wikibase-comment-unlink": "Ĉi tiu paĝo estis malligita de la
Vikidatuma ero. La lingvaj ligiloj estas forigitaj.",
"wikibase-comment-restore": "Ligita vikidatuma ero estis restarigita.
La lingvaj ligiloj ankaŭ estis restarigitaj.",
- "wikibase-comment-update": "Vikidatuma ero ĝisdatigita.",
+ "wikibase-comment-update": "Ero en {{WBREPONAME}} ĝisdatigita.",
"wikibase-comment-sitelink-add": "Lingva ligilo aldonita: $1",
"wikibase-comment-sitelink-change": "Lingva ligilo ŝanĝita de $1 al $2",
"wikibase-comment-sitelink-remove": "Lingva ligilo forigita: $1",
diff --git a/extensions/Wikibase/client/includes/api/PageTerms.php
b/extensions/Wikibase/client/includes/api/PageTerms.php
index 9f84f1e..0702691 100644
--- a/extensions/Wikibase/client/includes/api/PageTerms.php
+++ b/extensions/Wikibase/client/includes/api/PageTerms.php
@@ -218,7 +218,7 @@
* @return bool True if it fits in the result
*/
private function addTermsForPage( ApiResult $result, $pageId, array
$termsByType ) {
- $result->setIndexedTagName_recursive( $termsByType, 'term' );
+ ApiResult::setIndexedTagNameRecursive( $termsByType, 'term' );
$fit = $result->addValue( array( 'query', 'pages', $pageId ),
'terms', $termsByType );
diff --git a/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php
b/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php
index 35e1704..2915d5c 100644
--- a/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php
+++ b/extensions/Wikibase/client/includes/store/sql/DirectSqlStore.php
@@ -59,12 +59,12 @@
private $repoWiki;
/**
- * @var ConnectionManager|null
+ * @var ConsistentReadConnectionManager|null
*/
private $repoConnectionManager = null;
/**
- * @var ConnectionManager|null
+ * @var ConsistentReadConnectionManager|null
*/
private $localConnectionManager = null;
@@ -203,7 +203,7 @@
* Returns a LoadBalancer that acts as a factory for connections to the
repo wiki's
* database.
*
- * @return ConnectionManager
+ * @return ConsistentReadConnectionManager
*/
private function getRepoConnectionManager() {
if ( $this->repoConnectionManager === null ) {
@@ -217,7 +217,7 @@
* Returns a LoadBalancer that acts as a factory for connections to the
local (client) wiki's
* database.
*
- * @return ConnectionManager
+ * @return ConsistentReadConnectionManager
*/
private function getLocalConnectionManager() {
if ( $this->localConnectionManager === null ) {
diff --git
a/extensions/Wikibase/client/tests/phpunit/includes/api/ApiClientInfoTest.php
b/extensions/Wikibase/client/tests/phpunit/includes/api/ApiClientInfoTest.php
index 66dc746..b6dce87 100644
---
a/extensions/Wikibase/client/tests/phpunit/includes/api/ApiClientInfoTest.php
+++
b/extensions/Wikibase/client/tests/phpunit/includes/api/ApiClientInfoTest.php
@@ -66,7 +66,7 @@
$module = $this->getApiModule( $params, $settings );
$module->execute();
- $result = $module->getResult()->getData();
+ $result = $module->getResult()->getResultData();
$this->assertInternalType( 'array', $result, 'top level element
is an array' );
diff --git
a/extensions/Wikibase/client/tests/phpunit/includes/api/PageTermsTest.php
b/extensions/Wikibase/client/tests/phpunit/includes/api/PageTermsTest.php
index fe6124f..45bce78 100644
--- a/extensions/Wikibase/client/tests/phpunit/includes/api/PageTermsTest.php
+++ b/extensions/Wikibase/client/tests/phpunit/includes/api/PageTermsTest.php
@@ -237,7 +237,12 @@
$module->execute();
$result = $module->getResult();
- return $result->getData();
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ return $data;
}
public function pageTermsProvider() {
diff --git a/extensions/Wikibase/lib/i18n/ast.json
b/extensions/Wikibase/lib/i18n/ast.json
index 1ae0662..56dc832 100644
--- a/extensions/Wikibase/lib/i18n/ast.json
+++ b/extensions/Wikibase/lib/i18n/ast.json
@@ -70,6 +70,12 @@
"datatypes-type-wikibase-item": "Elementu",
"datatypes-type-commonsMedia": "Ficheru multimedia de Commons",
"version-wikibase": "Wikibase",
+ "wikibase-time-precision-Gannum": "en $1 miles de millones d'años",
+ "wikibase-time-precision-Mannum": "en $1 millones d'años",
+ "wikibase-time-precision-annum": "en $1 años",
+ "wikibase-time-precision-millennium": "$1. mileniu",
+ "wikibase-time-precision-century": "$1. sieglu",
+ "wikibase-time-precision-10annum": "$1 décaes",
"wikibase-snakformatter-valuetype-mismatch": "El tipu de valor \"$1\"
nun casa col tipu de propiedá \"$2\".",
"wikibase-snakformatter-property-not-found": "Nun s'alcontró la
propiedá $1, nun pudo determinase'l tipu de datos a usar."
}
diff --git
a/extensions/Wikibase/lib/includes/formatters/WikibaseValueFormatterBuilders.php
b/extensions/Wikibase/lib/includes/formatters/WikibaseValueFormatterBuilders.php
index d31f8cd..15c84ad 100644
---
a/extensions/Wikibase/lib/includes/formatters/WikibaseValueFormatterBuilders.php
+++
b/extensions/Wikibase/lib/includes/formatters/WikibaseValueFormatterBuilders.php
@@ -287,6 +287,8 @@
* @return DispatchingValueFormatter
*/
public function buildDispatchingValueFormatter(
OutputFormatValueFormatterFactory $factory, $format, FormatterOptions $options
) {
+ $this->applyLanguageDefaults( $options );
+
switch ( $format ) {
case SnakFormatter::FORMAT_PLAIN:
$formatters = $this->getPlainTextFormatters(
$options );
diff --git
a/extensions/Wikibase/lib/tests/phpunit/formatters/WikibaseValueFormatterBuildersTest.php
b/extensions/Wikibase/lib/tests/phpunit/formatters/WikibaseValueFormatterBuildersTest.php
index b4cb9a8..331dfc1 100644
---
a/extensions/Wikibase/lib/tests/phpunit/formatters/WikibaseValueFormatterBuildersTest.php
+++
b/extensions/Wikibase/lib/tests/phpunit/formatters/WikibaseValueFormatterBuildersTest.php
@@ -155,6 +155,12 @@
new EntityIdValue( new ItemId( 'Q5' ) ),
'@^Label for Q5$@' // compare mock object
created in newBuilders()
),
+ 'plain item label (with language fallback)' => array(
+ SnakFormatter::FORMAT_PLAIN,
+ $this->newFormatterOptions( 'de-ch' ), //
should fall back to 'de'
+ new EntityIdValue( new ItemId( 'Q5' ) ),
+ '@^Name für Q5$@' // compare mock object
created in newBuilders()
+ ),
'widget item link (with entity lookup)' => array(
SnakFormatter::FORMAT_HTML_WIDGET,
$this->newFormatterOptions(),
diff --git a/extensions/Wikibase/repo/i18n/ast.json
b/extensions/Wikibase/repo/i18n/ast.json
index 1f9be32..24851ea 100644
--- a/extensions/Wikibase/repo/i18n/ast.json
+++ b/extensions/Wikibase/repo/i18n/ast.json
@@ -18,10 +18,10 @@
"wikibase-addreference": "amestar referencia",
"wikibase-save-inprogress": "Guardando...",
"wikibase-remove-inprogress": "Desaniciando...",
- "wikibase-label-empty": "Inda nun ta definida denguna etiqueta",
+ "wikibase-label-empty": "Nun ta definida denguna etiqueta",
"wikibase-label-edit-placeholder": "escriba la etiqueta",
"wikibase-label-edit-placeholder-language-aware": "escriba la etiqueta
en $1",
- "wikibase-description-empty": "Inda nun ta definida denguna
descripción",
+ "wikibase-description-empty": "Nun ta definida denguna descripción",
"wikibase-description-edit-placeholder": "escriba la descripción",
"wikibase-description-edit-placeholder-language-aware": "escriba la
descripción en $1",
"wikibase-diffview-reference": "referencia",
@@ -138,19 +138,16 @@
"wikibase-setlabel-intro": "Esti formulariu permite definir la etiqueta
d'una entidá. Tien de dar el ID de la entidá (p. ex. Q23), un códigu d'idioma
(p. ex. \"ast\") y la etiqueta a definir.",
"wikibase-setlabel-label": "Etiqueta:",
"wikibase-setlabel-submit": "Definir la etiqueta",
- "wikibase-setlabel-warning-remove": "¿Realmente quier desaniciar la
etiqueta de [[$1]]?",
"special-setdescription": "Definir una descripción",
"wikibase-setdescription-introfull": "Ta definiendo la descripción en
$2 pa [[$1]].",
"wikibase-setdescription-intro": "Esti formulariu permite definir la
descripción d'una entidá. Tien de dar el ID de la entidá (p. ex. Q23), un
códigu d'idioma (p. ex. \"ast\") y la etiqueta a definir.",
"wikibase-setdescription-label": "Descripción:",
"wikibase-setdescription-submit": "Definir la descripción",
- "wikibase-setdescription-warning-remove": "¿Realmente quier desaniciar
la descripción de [[$1]]?",
"special-setaliases": "Definir alcuños",
"wikibase-setaliases-introfull": "Ta definiendo los alcuños en $2 pa
[[$1]]. Puen separase dellos alcuños col caráuter barra vertical
(<code>|</code>).",
"wikibase-setaliases-intro": "Esti formulariu permite definir los
alcuños d'una entidá. Tien de dar el ID de la entidá (p. ex. Q23), un códigu
d'idioma (p. ex. \"ast\") y los alcuños a definir. Puen separase dellos alcuños
col caráuter barra vertical (<code>|</code>).",
"wikibase-setaliases-label": "Alcuños:",
"wikibase-setaliases-submit": "Definir los alcuños",
- "wikibase-setaliases-warning-remove": "¿Realmente quier desaniciar
tolos alcuños de [[$1]]?",
"special-setsitelink": "Definir un enllaz de sitiu",
"wikibase-setsitelink-introfull": "Ta definiendo l'enllaz de sitiu de
$2 pa [[$1]].",
"wikibase-setsitelink-intro": "Esti formulariu permite definir l'enllaz
de sitiu d'un elementu. Tien de dar el ID del elementu (p. ex. Q23), una id de
sitiu (p. ex. \"enwiki\") y l'enllaz de sitiu a definir.",
@@ -158,7 +155,6 @@
"wikibase-setsitelink-label": "Enllaz del sitiu:",
"wikibase-setsitelink-badges": "Insinies:",
"wikibase-setsitelink-submit": "Definir l'enllaz del sitiu",
- "wikibase-setsitelink-warning-remove": "¿Realmente quier desaniciar
l'enllaz de sitiu de [[$1]]?",
"wikibase-setsitelink-invalid-site": "La id del sitiu \"$1\" ye
desconocida. Por favor, use una id de sitiu esistente, como \"astwiki\".",
"wikibase-setsitelink-not-item": "La id $1 nun pertenez a nengún
elementu.",
"wikibase-setsitelink-not-badge": "L'elementu $1 nun ye una insinia.",
diff --git a/extensions/Wikibase/repo/i18n/eo.json
b/extensions/Wikibase/repo/i18n/eo.json
index cf96b65..e68c779 100644
--- a/extensions/Wikibase/repo/i18n/eo.json
+++ b/extensions/Wikibase/repo/i18n/eo.json
@@ -28,7 +28,7 @@
"wikibase-label-empty": "Neniu etikedo difinita",
"wikibase-label-edit-placeholder": "entajpi etikedon",
"wikibase-label-edit-placeholder-language-aware": "entajpi etikedon en
$1",
- "wikibase-description-empty": "Neniu priskribo jam difinita",
+ "wikibase-description-empty": "Neniu priskribo difinita",
"wikibase-description-edit-placeholder": "entajpi priskribon",
"wikibase-description-edit-placeholder-language-aware": "entajpu
priskribon en $1",
"wikibase-diffview-reference": "referenco",
@@ -74,7 +74,7 @@
"wikibase-statementview-rank-preferred": "Preferata rango",
"wikibase-statementview-rank-normal": "Normala rango",
"wikibase-statementview-rank-deprecated": "Malpreferata rango",
- "wikibase-statementview-referencesheading-pendingcountersubject":
"{{PLURAL:$1|fonto|fontoj}}",
+ "wikibase-statementview-referencesheading-pendingcountersubject":
"{{PLURAL:$1|referenco|referencoj}}",
"wikibase-statementview-referencesheading-pendingcountertooltip":
"{{PLURAL:$1|Unu fonto|$1 fontoj}} ankoraŭ ne konservita{{PLURAL:$1||j}}",
"wikibase-snakview-property-input-placeholder": "atributo",
"wikibase-snakview-choosesnaktype": "Elektu specon de valoro.",
@@ -133,13 +133,10 @@
"wikibase-setlabel-intro": "Ĉi tiu formularo ebligas krei etikedon por
ero. Vi provizu la ID-on de la ero (ekz. Q123) lingvokodon (ekz eo), kaj la
kreendan etikedon.",
"wikibase-setlabel-label": "Etikedo:",
"wikibase-setlabel-submit": "Kreu etikedon",
- "wikibase-setlabel-warning-remove": "Ĉu vi vere volas forigi etikedon
de [[$1]]?",
"special-setdescription": "Aldoni priskribon",
"wikibase-setdescription-label": "Priskribo:",
"wikibase-setdescription-submit": "Aldoni priskribon",
- "wikibase-setdescription-warning-remove": "Ĉu vi vere volas forigi la
priskribon de [[$1]]?",
"wikibase-setaliases-label": "Kromnomoj:",
- "wikibase-setaliases-warning-remove": "Ĉu vi vere volas forigi ĉiujn
kromnomojn de [[$1]]?",
"wikibase-setsitelink-site": "Identigilo de retejo:",
"wikibase-setsitelink-label": "Reteja ligilo:",
"wikibase-setsitelink-badges": "Insignoj:",
diff --git a/extensions/Wikibase/repo/i18n/ko.json
b/extensions/Wikibase/repo/i18n/ko.json
index d15e443..99e901e 100644
--- a/extensions/Wikibase/repo/i18n/ko.json
+++ b/extensions/Wikibase/repo/i18n/ko.json
@@ -114,6 +114,12 @@
"wikibase-itembytitle-lookup-page": "문서:",
"wikibase-itembytitle-submit": "검색",
"wikibase-itembytitle-create": "또한 [$1 항목을 만들] 수 있습니다.",
+ "special-gotolinkedpage": "링크된 문서로 이동",
+ "wikibase-gotolinkedpage-lookup-fieldset": "사이트와 항목을 통해 링크된 페이지로 이동",
+ "wikibase-gotolinkedpage-lookup-site": "사이트:",
+ "wikibase-gotolinkedpage-lookup-item": "항목 ID:",
+ "wikibase-gotolinkedpage-submit": "가기",
+ "wikibase-gotolinkedpage-summary": "Special:GoToLinkedPage는 항목으로 연결된
사이트에 있는 문서를 찾는 데 사용됩니다.<br /> 왼쪽 칸의 \"사이트:\"에는 언어나 사이트 코드를 입력하는 곳입니다.<br /> 오른쪽
칸의 \"항목 ID:\"에는 당신이 찾고자 하는 문서에 해당하는 위키데이터 항목의 ID를 입력하셔야 합니다.",
"special-itemdisambiguation": "항목 동음이의어",
"wikibase-itemdisambiguation-lookup-fieldset": "언어와 레이블별로 항목 검색",
"wikibase-itemdisambiguation-lookup-language": "언어 코드:",
@@ -122,8 +128,9 @@
"wikibase-itemdisambiguation-nothing-found": "죄송합니다, 해당 레이블이 있는 항목을 찾을
수 없습니다.",
"wikibase-itemdisambiguation-search": "당신은 [$1 해당 항목을 검색할 수 있습니다].",
"wikibase-itemdisambiguation-create": "또한 [$1 항목을 만들] 수 있습니다.",
- "wikibase-itemdisambiguation-invalid-langcode": "죄송합니다, 제공한 언어 식별자는
시스템에서 알 수 없습니다. \"ko\"와 같은 올바른 식별자를 사용하세요.",
+ "wikibase-itemdisambiguation-invalid-langcode": "죄송합니다, 당신이 입력한 언어 코드는
시스템에서 알 수 없습니다. \"ko\"와 같은 올바른 언어 코드를 사용하세요.",
"wikibase-itemdisambiguation-description": "검색에 사용되는 값은 완전한 텍스트 항목이어야
합니다. 언어는 \"ko\"와 같은 식별자입니다.",
+ "wikibase-itemdisambiguation-summary": "정확히 같은 레이블을 가진 모든 항목을 찾습니다.",
"special-newproperty": "새 속성 만들기",
"wikibase-newproperty-summary": "[[Special:PropertyDisambiguation|속성이
이미 존재하는지 확인]]해야 합니다!<br />모든 새 속성에 대한 [[Help:Label|레이블]]과
[[Help:Description|설명]]을 만들어야 하며 더 많은 올바른 속성 유형이어야 합니다.",
"wikibase-newproperty-fieldset": "새 속성 만들기",
@@ -135,7 +142,7 @@
"wikibase-newitem-site": "첫 링크한 문서의 사이트",
"wikibase-newitem-page": "첫 링크한 문서의 이름",
"wikibase-newitem-no-external-page": "지정한 문서는 해당 사이트에서 찾을 수 없습니다.",
- "wikibase-newitem-not-recognized-siteid": "지정한 사이트 식별자는 인식하지 않았습니다.",
+ "wikibase-newitem-not-recognized-siteid": "지정한 사이트 식별자는 인식되지 않았습니다.",
"wikibase-newentity-label": "레이블:",
"wikibase-newentity-description": "설명:",
"wikibase-newentity-submit": "만들기",
@@ -228,11 +235,12 @@
"wikibase-restoreold": "복구",
"wikibase-restore-summary": "[[Special:Contributions/$2|$2]] 사용자에 의해 $1
판을 복구함",
"wikibase-no-direct-editing": "$1 이름공간에서 직접 편집은 비활성화되어 있습니다.",
- "wikibase-noentity": "이 데이터 집합이 존재하지 않습니다.\n<span
class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 관련
기록을 검색할]</span> 수 있습니다.",
+ "wikibase-noentity": "이 객체가 존재하지 않습니다. 이 객체가 어떻게 되었는지
[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} 관련 기록을 검색할] 수 있습니다.",
"wikibase-noentity-createone": "또한 [[$1|새 항목을 만들 수 있습니다]].",
"wikibase-special-mergeitems-error-prefix": "항목을 병합할 수 없습니다. 다음 오류가
발생했습니다:",
"wikibase-item-summary-wbsetitem": "새 항목을 만듦",
"wikibase-item-summary-wbcreate-new": "새 항목을 만듦",
+ "wikibase-item-summary-wbcreateredirect": "$4로 넘겨줌",
"wikibase-item-summary-wbeditentity": "새 항목을 만듦",
"wikibase-item-summary-wbeditentity-create": "새 항목을 만듦",
"wikibase-item-summary-wbeditentity-update": "항목을 바꿈",
@@ -274,6 +282,7 @@
"wikibase-item-summary-wbsetclaim-update-references":
"{{PLURAL:$3|주장}}의 {{PLURAL:$4|참고 한 개|참고 $4개}}을 바꿈",
"wikibase-item-summary-wbsetclaim-update-rank": "{{PLURAL:$3|주장}}의 등급을
바꿈",
"wikibase-item-summary-clientsitelink-update": "페이지를 [$3]에서 [$4](으)로
옮김",
+ "wikibase-item-summary-clientsitelink-remove": "[$3]의 문서 삭제됨",
"wikibase-item-summary-wbsetqualifier-add": "{{PLURAL:$1|한정어}}를 추가함",
"wikibase-item-summary-wbsetqualifier-update": "{{PLURAL:$1|한정어}}를 바꿈",
"wikibase-item-summary-wbremovequalifiers-remove": "{{PLURAL:$1|한정어}}를
제거함",
@@ -316,12 +325,15 @@
"wikibase-listdatatypes-time-body": "시간 값에 대한 리터럴 데이터 필드입니다. 약간의 정밀도와
경계로 된 시간으로 주어집니다. 내부에서는 시간이 항상 선발 그레고리력 형식으로 저장되어 있지만 다른 형식도 입력 및 출력 시에 사용할 수
있습니다.(?)\n* time – 어느 시점을 나타내는 명시적인 값으로 ISO8601에 따라 표현되고 년은 항상 11 자리에서 날짜는 항상
부호가 붙으며, +00000002013-01-01T00:00:00Z 형식입니다\n* timezone – 부호가 있는 정수로 명시적인 값입니다.
UTC로부터의 오프셋을 분에 지정된 시간대 정보입니다.\n* before – 지정된 시간부터 현재까지 단위 시간에 얼마나 많은 분이 걸리는지
나타내는 명시적인 정수 값입니다. 단위는 precision으로 주어집니다.\n* after – 지정된 시간까지 현재에서 단위 시간에 얼마나
많은 분이 걸리는지 나타내는 명시적인 정수 값입니다. 단위는 precision으로 주어집니다.\n* precision – shortint
형식의 명시적인 값입니다. 수는 다음과 같은 의미가 있습니다: 0 - 10억 년, 1 - 1억 년, ..., 6 - 천 년, 7 - 1세기,
8 - 10년, 9 - 1년, 10 - 월, 11 - 일, 12 - 시, 13 - 분, 14 - 초.\n* calendarmodel –
URI로 지정된 명시적인 값입니다. 시간을 표시하는데 사용되어야 하는 역법을 식별합니다.",
"wikibase-listdatatypes-url-head": "URL",
"wikibase-listdatatypes-url-body": "URL에 대한 리터럴 데이터 필드입니다. URL은 또한
위키텍스트의 바깥 링크에 대해 지원되는 프로토콜로 제한됩니다.",
+ "wikibase-concept-uri": "개념 URI",
+ "wikibase-add-badges": "배지 추가",
"datatypes-type-url": "URL",
"content-model-wikibase-item": "위키베이스 항목",
"content-model-wikibase-property": "위키베이스 속성",
"content-model-wikibase-query": "위키베이스 쿼리",
"right-item-term": "항목 용어 바꾸기 (레이블, 설명, 별명)",
"right-item-merge": "항목 병합",
+ "right-item-redirect": "항목 넘겨주기를 생성하기",
"right-property-term": "속성 용어 바꾸기 (레이블, 설명, 별명)",
"right-property-create": "속성 만들기"
}
diff --git a/extensions/Wikibase/repo/i18n/yi.json
b/extensions/Wikibase/repo/i18n/yi.json
index c2fcfb7..cfba16f 100644
--- a/extensions/Wikibase/repo/i18n/yi.json
+++ b/extensions/Wikibase/repo/i18n/yi.json
@@ -18,7 +18,12 @@
"wikibase-save-inprogress": "אויפֿהיטן אין גאנג…",
"wikibase-remove-inprogress": "אוועקנעמען אין גאנג…",
"wikibase-entitytermsview-entitytermsforlanguagelistview-toggler": "אין
נאך שפראַכן",
+
"wikibase-entitytermsview-entitytermsforlanguagelistview-configure-link-label":
"קאנפיגורירן",
+ "wikibase-setting-entitytermsview-showEntitytermslistview": "ווײַזן
באצייכענונגען, אליאסף און באשרײַבונגען אין אלע מײַנע שפראכן ביים לאדן דעם בלאט",
+ "wikibase-entitytermsforlanguagelistview-aliases": "אויך באקאנט ווי",
+ "wikibase-entitytermsforlanguagelistview-description": "באַשרײַבונג",
"wikibase-entitytermsforlanguagelistview-label": "באצייכענונג",
+ "wikibase-entitytermsforlanguagelistview-language": "שפראַך",
"wikibase-label-empty": "קיין באצייכענונג נישט דעפֿינירט",
"wikibase-label-edit-placeholder": "אריינגעבן באצייכענונג",
"wikibase-label-edit-placeholder-language-aware": "אײַנגעבן באצייכענונג
אויף $1",
@@ -27,6 +32,7 @@
"wikibase-description-edit-placeholder-language-aware": "אײַנגעבן
שילדערונג אין $1",
"wikibase-diffview-reference": "רעפערענץ",
"wikibase-diffview-rank": "ראנג",
+ "wikibase-diffview-rank-normal": "נארמאלער ראנג",
"wikibase-diffview-qualifier": "באדינגונג",
"wikibase-diffview-label": "באצייכענונג",
"wikibase-diffview-alias": "אליאסן",
@@ -92,6 +98,8 @@
"wikibase-itembytitle-lookup-page": "בלאט:",
"wikibase-itembytitle-submit": "זוכן",
"wikibase-itembytitle-create": "איר קענט אויך [$1 שאפֿן א דאטנאביעקט].",
+ "wikibase-gotolinkedpage-lookup-site": "וועבזײַטל:",
+ "wikibase-gotolinkedpage-submit": "גיין",
"special-itemdisambiguation": "אביעקט אויפֿקלערונג",
"wikibase-itemdisambiguation-lookup-fieldset": "זוכן דאטנאביעקטן לויט
שפראך און צייכענונג",
"wikibase-itemdisambiguation-lookup-language": "שפראַך קאד:",
@@ -123,6 +131,9 @@
"special-setaliases": "שטעלן אליאסן",
"wikibase-setaliases-label": "אליאסן:",
"wikibase-setaliases-submit": "שטעלן די אליאסן",
+ "wikibase-setlabeldescriptionaliases-label-label": "באצייכענונג:",
+ "wikibase-setlabeldescriptionaliases-description-label": "באַשרײַבונג:",
+ "wikibase-setlabeldescriptionaliases-aliases-label": "אליאסן:",
"special-setsitelink": "שטעלן א וועבזייטל לינק",
"wikibase-setsitelink-introfull": "איר שטעלט דעם וועבזייטל לינק פון $2
פֿאר [[$1]].",
"wikibase-modifyentity-id": "אידענטיפֿיצירער",
diff --git a/extensions/Wikibase/repo/includes/api/ApiErrorReporter.php
b/extensions/Wikibase/repo/includes/api/ApiErrorReporter.php
index 330ad17..9ad77b5 100644
--- a/extensions/Wikibase/repo/includes/api/ApiErrorReporter.php
+++ b/extensions/Wikibase/repo/includes/api/ApiErrorReporter.php
@@ -308,13 +308,11 @@
$messageData = $this->convertMessageToResult( $message );
- $res = $this->apiModule->getResult();
-
$messageList = isset( $data['messages'] ) ? $data['messages'] :
array();
- $res->setIndexedTagName( $messageList, 'message' );
+ ApiResult::setIndexedTagName( $messageList, 'message' );
$messageList[] = $messageData;
- $res->setElement( $data, 'messages', $messageList,
ApiResult::OVERRIDE );
+ ApiResult::setValue( $data, 'messages', $messageList,
ApiResult::OVERRIDE );
}
/**
@@ -365,7 +363,6 @@
*/
private function convertMessagesToResult( array $messageSpecs ) {
$result = array();
- $res = $this->apiModule->getResult();
foreach ( $messageSpecs as $message ) {
$type = null;
@@ -385,13 +382,13 @@
$row = $this->convertMessageToResult( $message );
if ( $type !== null ) {
- $res->setElement( $row, 'type', $type );
+ ApiResult::setValue( $row, 'type', $type );
}
$result[] = $row;
}
- $res->setIndexedTagName( $result, 'message' );
+ ApiResult::setIndexedTagName( $result, 'message' );
return $result;
}
@@ -433,19 +430,18 @@
* @return array
*/
private function convertMessageToResult( Message $message ) {
- $res = $this->apiModule->getResult();
-
$name = $message->getKey();
$params = $message->getParams();
$row = array();
- $res->setElement( $row, 'name', $name );
+ ApiResult::setValue( $row, 'name', $name );
- $res->setElement( $row, 'parameters', $params );
- $res->setIndexedTagName( $row['parameters'], 'parameter' );
+ ApiResult::setValue( $row, 'parameters', $params );
+ ApiResult::setIndexedTagName( $row['parameters'], 'parameter' );
$html = $this->forceMessageLanguage( $message, $this->language
)->useDatabase( true )->parse();
- $res->setContent( $row, $html, 'html' );
+ ApiResult::setContentValue( $row, 'html', $html );
+ $row[ApiResult::META_BC_SUBELEMENTS][] = 'html';
return $row;
}
diff --git a/extensions/Wikibase/repo/includes/api/AvailableBadges.php
b/extensions/Wikibase/repo/includes/api/AvailableBadges.php
index cee6e6e..90d6cd9 100644
--- a/extensions/Wikibase/repo/includes/api/AvailableBadges.php
+++ b/extensions/Wikibase/repo/includes/api/AvailableBadges.php
@@ -3,6 +3,7 @@
namespace Wikibase\Api;
use ApiBase;
+use ApiResult;
use Wikibase\Repo\WikibaseRepo;
/**
@@ -24,7 +25,7 @@
public function execute() {
$settings = WikibaseRepo::getDefaultInstance()->getSettings();
$badgeItems = array_keys( $settings->getSetting( 'badgeItems' )
);
- $this->getResult()->setIndexedTagName( $badgeItems, 'badge' );
+ ApiResult::setIndexedTagName( $badgeItems, 'badge' );
$this->getResult()->addValue(
null,
'badges',
diff --git a/extensions/Wikibase/repo/includes/api/GetEntities.php
b/extensions/Wikibase/repo/includes/api/GetEntities.php
index f2fb28b..02ca61d 100644
--- a/extensions/Wikibase/repo/includes/api/GetEntities.php
+++ b/extensions/Wikibase/repo/includes/api/GetEntities.php
@@ -100,9 +100,7 @@
}
//todo remove once result builder is used... (what exactly does
this do....?)
- if ( $this->getResult()->getIsRawMode() ) {
- $this->getResult()->setIndexedTagName_internal( array(
'entities' ), 'entity' );
- }
+ $this->getResult()->addIndexedTagName( array( 'entities' ),
'entity' );
$this->getResultBuilder()->markSuccess( 1 );
}
diff --git a/extensions/Wikibase/repo/includes/api/ParseValue.php
b/extensions/Wikibase/repo/includes/api/ParseValue.php
index a6f9d69..591a46d 100644
--- a/extensions/Wikibase/repo/includes/api/ParseValue.php
+++ b/extensions/Wikibase/repo/includes/api/ParseValue.php
@@ -3,6 +3,7 @@
namespace Wikibase\Api;
use ApiBase;
+use ApiResult;
use DataValues\DataValue;
use LogicException;
use OutOfBoundsException;
@@ -110,7 +111,7 @@
}
private function outputResults( array $results ) {
- $this->getResult()->setIndexedTagName( $results, 'result' );
+ ApiResult::setIndexedTagName( $results, 'result' );
$this->getResult()->addValue(
null,
diff --git a/extensions/Wikibase/repo/includes/api/ResultBuilder.php
b/extensions/Wikibase/repo/includes/api/ResultBuilder.php
index a6425ea..2a3d049 100644
--- a/extensions/Wikibase/repo/includes/api/ResultBuilder.php
+++ b/extensions/Wikibase/repo/includes/api/ResultBuilder.php
@@ -138,7 +138,7 @@
unset( $values['_element'] );
$values = array_values( $values );
- $this->result->setIndexedTagName( $values, $tag );
+ ApiResult::setIndexedTagName( $values, $tag );
}
$this->result->addValue( $path, $name, $values );
@@ -203,10 +203,7 @@
}
$this->result->addValue( $path, $key, $value );
-
- if ( $this->result->getIsRawMode() && !is_string( $key ) ) {
- $this->result->setIndexedTagName_internal( $path, $tag
);
- }
+ $this->result->addIndexedTagName( $path, $tag );
}
/**
diff --git a/extensions/Wikibase/repo/includes/api/SearchEntities.php
b/extensions/Wikibase/repo/includes/api/SearchEntities.php
index 9d0ac12..0ad634b 100644
--- a/extensions/Wikibase/repo/includes/api/SearchEntities.php
+++ b/extensions/Wikibase/repo/includes/api/SearchEntities.php
@@ -4,6 +4,7 @@
use ApiBase;
use ApiMain;
+use ApiResult;
use Wikibase\DataModel\Entity\EntityId;
use Wikibase\DataModel\Entity\EntityIdParser;
use Wikibase\DataModel\Entity\EntityIdParsingException;
@@ -344,7 +345,7 @@
if ( preg_match( $termPattern,
$term->getText() ) ) {
if ( !isset( $entry['aliases']
) ) {
$entry['aliases'] =
array();
-
$this->getResult()->setIndexedTagName( $entry['aliases'], 'alias' );
+
ApiResult::setIndexedTagName( $entry['aliases'], 'alias' );
}
$entry['aliases'][] =
$term->getText();
$bestLangPerSlot[$key][$type] =
$currentLang;
@@ -411,7 +412,7 @@
$entries
);
- $this->getResult()->setIndexedTagName_internal( array( 'search'
), 'entity' );
+ $this->getResult()->addIndexedTagName( array( 'search' ),
'entity' );
// @todo use result builder?
$this->getResult()->addValue(
diff --git a/extensions/Wikibase/repo/includes/api/SetClaim.php
b/extensions/Wikibase/repo/includes/api/SetClaim.php
index dde9ac9..312fbd3 100644
--- a/extensions/Wikibase/repo/includes/api/SetClaim.php
+++ b/extensions/Wikibase/repo/includes/api/SetClaim.php
@@ -15,6 +15,7 @@
use Wikibase\ChangeOp\ClaimChangeOpFactory;
use Wikibase\ClaimSummaryBuilder;
use Wikibase\DataModel\Claim\Claim;
+use Wikibase\DataModel\Claim\ClaimGuidParsingException;
use Wikibase\DataModel\Claim\Claims;
use Wikibase\DataModel\Entity\Entity;
use Wikibase\Lib\Serializers\SerializerFactory;
@@ -64,7 +65,11 @@
$this->dieError( 'GUID must be set when setting a
claim', 'invalid-claim' );
}
- $claimGuid = $this->claimGuidParser->parse( $guid );
+ try {
+ $claimGuid = $this->claimGuidParser->parse( $guid );
+ } catch ( ClaimGuidParsingException $ex ) {
+ $this->dieException( $ex, 'invalid-claim' );
+ }
$entityId = $claimGuid->getEntityId();
$baseRevisionId = isset( $params['baserevid'] ) ? intval(
$params['baserevid'] ) : null;
diff --git a/extensions/Wikibase/repo/includes/specials/SpecialModifyTerm.php
b/extensions/Wikibase/repo/includes/specials/SpecialModifyTerm.php
index 4914573..81eed13 100644
--- a/extensions/Wikibase/repo/includes/specials/SpecialModifyTerm.php
+++ b/extensions/Wikibase/repo/includes/specials/SpecialModifyTerm.php
@@ -128,7 +128,7 @@
// If the user just enters an item id and a language, dont
remove the term.
// The user can remove the term in the second form where it has
to be
// actually removed. This prevents users from removing terms
accidentally.
- if ( $request->getVal( 'remove' ) === null && $this->value ===
'' ) {
+ if ( !$request->getCheck( 'remove' ) && $this->value === '' ) {
$this->value = null;
return false;
}
diff --git a/extensions/Wikibase/repo/includes/specials/SpecialNewItem.php
b/extensions/Wikibase/repo/includes/specials/SpecialNewItem.php
index fa4497f..3b34eff 100644
--- a/extensions/Wikibase/repo/includes/specials/SpecialNewItem.php
+++ b/extensions/Wikibase/repo/includes/specials/SpecialNewItem.php
@@ -40,8 +40,8 @@
protected function prepareArguments() {
parent::prepareArguments();
- $this->site = $this->getRequest()->getVal( 'site', null );
- $this->page = $this->getRequest()->getVal( 'page', null );
+ $this->site = $this->getRequest()->getVal( 'site' );
+ $this->page = $this->getRequest()->getVal( 'page' );
}
/**
diff --git a/extensions/Wikibase/repo/includes/specials/SpecialSetSiteLink.php
b/extensions/Wikibase/repo/includes/specials/SpecialSetSiteLink.php
index 9eee06a..b8c6188 100644
--- a/extensions/Wikibase/repo/includes/specials/SpecialSetSiteLink.php
+++ b/extensions/Wikibase/repo/includes/specials/SpecialSetSiteLink.php
@@ -145,7 +145,7 @@
// If the user just enters an item id and a site, dont remove
the site link.
// The user can remove the site link in the second form where
it has to be
// actually removed. This prevents users from removing site
links accidentally.
- if ( $request->getVal( 'remove' ) === null && $this->page ===
'' ) {
+ if ( !$request->getCheck( 'remove' ) && $this->page === '' ) {
$this->page = null;
return false;
}
diff --git a/extensions/Wikibase/repo/maintenance/pruneChanges.php
b/extensions/Wikibase/repo/maintenance/pruneChanges.php
index 6577d02..0cdd623 100644
--- a/extensions/Wikibase/repo/maintenance/pruneChanges.php
+++ b/extensions/Wikibase/repo/maintenance/pruneChanges.php
@@ -32,11 +32,6 @@
*/
private $ignoreDispatch = false;
- /**
- * @var int The amount of rows to delete at once.
- */
- private $pruneLimit = 0;
-
public function __construct() {
parent::__construct();
$this->mDescription = "Prune the Wikibase changes table to a
maximum number of entries";
@@ -47,13 +42,13 @@
$this->addOption( 'keep-minutes', 'Keep changes at least N
minutes.', false, true, 'm' );
$this->addOption( 'grace-minutes', 'Keep changes at least N
more minutes after they have been dispatched.', false, true, 'g' );
- $this->addOption( 'limit', 'Only prune up to N rows at once.',
false, true, 'l' );
-
$this->addOption( 'force', 'Run regardless of whether the PID
file says it is running already.',
false, false, 'f' );
$this->addOption( 'ignore-dispatch', 'Ignore whether changes
have been dispatched or not.',
false, false, 'D' );
+
+ $this->setBatchSize( 500 );
}
public function execute() {
@@ -91,14 +86,7 @@
$this->graceSeconds = 1 * 60 * 60;
}
- $this->pruneLimit = intval( $this->getOption( 'limit', 25000 )
);
-
- $until = $this->getCutoffTimestamp();
- $this->output( date( 'H:i:s' ) . " pruning entries older than "
- . wfTimestamp( TS_ISO_8601, $until ) . "\n" );
-
- $deleted = $this->pruneChanges( $until );
- $this->output( date( 'H:i:s' ) . " $deleted rows pruned.\n" );
+ $this->doPrune();
$pidLock->removeLock(); // delete lockfile on normal exit
}
@@ -134,7 +122,7 @@
}
/**
- * Changes the cutoff timestamp to not affect more than
$this->pruneLimit
+ * Changes the cutoff timestamp to not affect more than
$this->mBatchSize
* rows, if needed.
*
* @param int $until
@@ -149,7 +137,7 @@
array( 'change_time < ' . $dbr->addQuotes( wfTimestamp(
TS_MW, $until ) ) ),
__METHOD__,
array(
- 'OFFSET' => $this->pruneLimit,
+ 'OFFSET' => $this->mBatchSize,
'ORDER BY' => 'change_time ASC',
)
);
@@ -157,6 +145,24 @@
return $changeTime ? intval( $changeTime ) : $until;
}
+ private function doPrune() {
+ while( true ) {
+ wfWaitForSlaves();
+
+ $until = $this->getCutoffTimestamp();
+
+ $this->output( date( 'H:i:s' ) . " pruning entries
older than "
+ . wfTimestamp( TS_ISO_8601, $until ) . "\n" );
+
+ $affected = $this->pruneChanges( $until );
+ $this->output( date( 'H:i:s' ) . " $affected rows
pruned.\n" );
+
+ if ( $affected === 0 ) {
+ break;
+ }
+ }
+ }
+
/**
* Prunes all changes older than $until from the changes table.
*
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/api/ApiErrorReporterTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/api/ApiErrorReporterTest.php
index 3bfd0fe..60bbe4c 100644
---
a/extensions/Wikibase/repo/tests/phpunit/includes/api/ApiErrorReporterTest.php
+++
b/extensions/Wikibase/repo/tests/phpunit/includes/api/ApiErrorReporterTest.php
@@ -109,7 +109,7 @@
'$expectedData' => array(
'fruit' => 'Banana',
'messages/0/name' =>
'wikibase-api-no-such-sitelink',
- 'messages/0/html/content' =>
'/gefunden/', // in German
+ 'messages/0/html' => '/gefunden/', //
in German
),
),
@@ -123,7 +123,7 @@
'$infoPattern' => '/^Malformed value\./',
'$expectedData' => array(
'messages/0/name' =>
'wikibase-parse-error',
- 'messages/0/html/content' => '/Wert/',
// in German
+ 'messages/0/html' => '/Wert/', // in
German
),
),
);
@@ -159,7 +159,7 @@
'$infoPattern' => '/sitelink/',
'$expectedDataFields' => array(
'messages/0/name' =>
'wikibase-api-no-such-sitelink',
- 'messages/0/html/content' =>
'/gefunden/', // in German
+ 'messages/0/html' => '/gefunden/', //
in German
'messages/0/parameters/0' => '/Foo/',
),
)
@@ -201,10 +201,10 @@
'$infoPattern' => '/sitelink/',
'$expectedData' => array(
'messages/0/name' =>
'wikibase-api-no-such-sitelink',
- 'messages/0/html/content' =>
'/gefunden/', // in German
+ 'messages/0/html' => '/gefunden/', //
in German
'messages/1/name' =>
'wikibase-noentity',
'messages/1/parameters/0' => 'Q123',
- 'messages/1/html/content' => '/ist
nicht vorhanden/', // in German
+ 'messages/1/html' => '/ist nicht
vorhanden/', // in German
),
),
@@ -297,9 +297,9 @@
'$status' => $status,
'$expectedData' => array(
'warnings/main_int/messages/0/name' =>
'wikibase-conflict-patched',
-
'warnings/main_int/messages/0/html/content' => '/Version/', // in German
+ 'warnings/main_int/messages/0/html' =>
'/Version/', // in German
'warnings/main_int/messages/1/name' =>
'undo-nochange',
-
'warnings/main_int/messages/1/html/content' => '/Bearbeitung.*bereits/', // in
German
+ 'warnings/main_int/messages/1/html' =>
'/Bearbeitung.*bereits/', // in German
),
),
);
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/api/CreateRedirectModuleTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/api/CreateRedirectModuleTest.php
index 94dd958..188a5cc 100644
---
a/extensions/Wikibase/repo/tests/phpunit/includes/api/CreateRedirectModuleTest.php
+++
b/extensions/Wikibase/repo/tests/phpunit/includes/api/CreateRedirectModuleTest.php
@@ -138,7 +138,12 @@
$module->execute();
$result = $module->getResult();
- return $result->getData();
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ return $data;
}
private function assertSuccess( $result ) {
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/api/EntityTestHelper.php
b/extensions/Wikibase/repo/tests/phpunit/includes/api/EntityTestHelper.php
index 24dbff0..642bea2 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/api/EntityTestHelper.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/api/EntityTestHelper.php
@@ -4,20 +4,6 @@
use DataValues\StringValue;
use OutOfBoundsException;
-use Wikibase\DataModel\Claim\Claim;
-use Wikibase\DataModel\Entity\Entity;
-use Wikibase\DataModel\Entity\EntityId;
-use Wikibase\DataModel\Entity\Item;
-use Wikibase\DataModel\Entity\ItemId;
-use Wikibase\DataModel\Entity\Property;
-use Wikibase\DataModel\Entity\PropertyId;
-use Wikibase\DataModel\SiteLink;
-use Wikibase\DataModel\Snak\PropertyValueSnak;
-use Wikibase\DataModel\Term\AliasGroup;
-use Wikibase\DataModel\Term\AliasGroupList;
-use Wikibase\DataModel\Term\Fingerprint;
-use Wikibase\DataModel\Term\Term;
-use Wikibase\DataModel\Term\TermList;
/**
* @licence GNU GPL v2+
@@ -28,29 +14,21 @@
class EntityTestHelper {
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* @var string[] List of currently active handles and their current ids
*/
private static $activeHandles = array();
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* @var string[] List of currently active ids and their current handles
*/
private static $activeIds;
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* @var array[] Handles and any registered default output data
*/
private static $entityOutput = array();
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* @var array[] Set of pre defined entity data for use in tests
*/
private static $entityData = array(
@@ -250,13 +228,6 @@
);
/**
- * @var Entity[] filled by EntityTestHelper::fillTestEntities
- */
- private static $testEntities = array();
-
- /**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* Get the entity with the given handle
*
* @param string $handle String handle of entity to get data for
@@ -278,8 +249,6 @@
}
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* Get the data to pass to the api to clear the entity with the given
handle
*
* @param string $handle String handle of entity to get data for
@@ -297,8 +266,6 @@
}
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* Get the data to pass to the api to create the entity with the given
handle
*
* @param string $handle
@@ -314,8 +281,6 @@
}
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* Get the data of the entity with the given handle we received after
creation
*
* @param string $handle
@@ -373,8 +338,6 @@
}
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* Register the entity after it has been created
*
* @param string $handle
@@ -390,8 +353,6 @@
}
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* Unregister the entity after it has been cleared
*
* @param string $handle
@@ -403,8 +364,6 @@
}
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* @return string[] List of currently active (registered) handles,
using IDs as keys.
*/
public static function getActiveHandles() {
@@ -412,8 +371,6 @@
}
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* @return string[] List of currently active (registered) IDs, using
handles as keys.
*/
public static function getActiveIds() {
@@ -421,8 +378,6 @@
}
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* Return the id for the entity with the given handle
*
* @param string $handle String handle of entity to get data for
@@ -438,8 +393,6 @@
}
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* @param $id string of entityid
* @return null|string id of current handle (if active)
*/
@@ -473,233 +426,6 @@
} elseif ( is_string( $data ) ) {
$data = str_replace( array_keys( $idMap ),
array_values( $idMap ), $data );
}
- }
-
- /**
- * @since 0.5
- *
- * @param EntityId|string $entityId
- *
- * @return null|Entity
- */
- public static function getTestEntity( $entityId ) {
- self::fillTestEntitiesIfEmpty();
-
- if( $entityId instanceof EntityId ) {
- $key = $entityId->getSerialization();
- } else {
- $key = $entityId;
- }
-
- if( array_key_exists( $key, self::$testEntities ) ) {
- return self::$testEntities[ $key ];
- } else {
- return null;
- // FIXME? Should this throw an exception?
- // throw new StorageException( 'Thrown by: ' .
__CLASS__ . __METHOD__ );
- }
- }
-
- /**
- * Fills self::$testEntities with data (only if it is empty)
- */
- private static function fillTestEntitiesIfEmpty() {
- if( self::$testEntities === array() ) {
- self::fillTestEntities();
- }
- }
-
- /**
- * Fills self::$testEntities with data
- */
- private static function fillTestEntities() {
- $entities = array();
-
- $entities['Q1'] = new Item( new ItemId( 'Q1' ) );
-
- $entities['Q2'] = new Item( new ItemId( 'Q2' ) );
-
- $entities['P1'] = Property::newFromType( 'string' );
- $entities['P1']->setId( PropertyId::newFromNumber( 1 ) );
-
- $entities['Q3'] = new Item( new ItemId( 'Q3' ) );
- $entities['Q3']->setFingerprint(
- new Fingerprint(
- new TermList(
- array(
- new Term( 'de', 'Berlin' ),
- new Term( 'en', 'Berlin' ),
- new Term( 'nb', 'Berlin' ),
- new Term( 'nn', 'Berlin' ),
- )
- ),
- new TermList(
- array(
- new Term( 'de',
'Bundeshauptstadt und Regierungssitz der Bundesrepublik Deutschland.' ),
- new Term( 'en', 'Capital city
and a federated state of the Federal Republic of Germany.' ),
- new Term( 'nb', 'Hovedsted og
delstat og i Forbundsrepublikken Tyskland.' ),
- new Term( 'nn', 'Hovudstad og
delstat i Forbundsrepublikken Tyskland.' ),
- )
- ),
- new AliasGroupList(
- array(
- new AliasGroup( 'de', array(
'Dickes B' ) ),
- new AliasGroup( 'en', array(
'Dickes B' ) ),
- new AliasGroup( 'nl', array(
'Dickes B' ) ),
- )
- )
- )
- );
- $entities['Q3']->getSiteLinkList()->addNewSiteLink( 'dewiki',
'Berlin' );
- $entities['Q3']->getSiteLinkList()->addNewSiteLink( 'enwiki',
'Berlin' );
- $entities['Q3']->getSiteLinkList()->addNewSiteLink( 'nlwiki',
'Berlin' );
- $entities['Q3']->getSiteLinkList()->addNewSiteLink( 'nnwiki',
'Berlin' );
- $claim = new Claim (
- new PropertyValueSnak(
- PropertyId::newFromNumber( 1 ),
- new StringValue( 'imastring1' )
- )
- );
- $claim->setGuid( 'Q3$E9DC0EA4-D0A0-429B-8F4D-048F2B5C9F73' );
- $entities['Q3']->addClaim( $claim );
-
- $entities['Q4'] = new Item( new ItemId( 'Q4' ) );
- $entities['Q4']->setFingerprint(
- new Fingerprint(
- new TermList(
- array(
- new Term( 'de', 'London' ),
- new Term( 'en', 'London' ),
- new Term( 'nb', 'London' ),
- new Term( 'nn', 'London' ),
- )
- ),
- new TermList(
- array(
- new Term( 'de', 'Hauptstadt
Englands und des Vereinigten Königreiches.' ),
- new Term( 'en', 'Capital city
of England and the United Kingdom.' ),
- new Term( 'nb', 'Hovedsted i
England og Storbritannia.' ),
- new Term( 'nn', 'Hovudstad i
England og Storbritannia.' ),
- )
- ),
- new AliasGroupList(
- array(
- new AliasGroup( 'de', array(
'City of London', 'Greater London' ) ),
- new AliasGroup( 'en', array(
'City of London', 'Greater London' ) ),
- new AliasGroup( 'nl', array(
'City of London', 'Greater London' ) ),
- )
- )
- )
- );
- $entities['Q4']->getSiteLinkList()->addNewSiteLink( 'dewiki',
'London' );
- $entities['Q4']->getSiteLinkList()->addNewSiteLink( 'enwiki',
'London' );
- $entities['Q4']->getSiteLinkList()->addNewSiteLink( 'nlwiki',
'London' );
- $entities['Q4']->getSiteLinkList()->addNewSiteLink( 'nnwiki',
'London' );
-
- $entities['Q5'] = new Item( new ItemId( 'Q5' ) );
- $entities['Q5']->setFingerprint(
- new Fingerprint(
- new TermList(
- array(
- new Term( 'de', 'Oslo' ),
- new Term( 'en', 'Oslo' ),
- new Term( 'nb', 'Oslo' ),
- new Term( 'nn', 'Oslo' ),
- )
- ),
- new TermList(
- array(
- new Term( 'de', 'Hauptstadt der
Norwegen.' ),
- new Term( 'en', 'Capital city
in Norway.' ),
- new Term( 'nb', 'Hovedsted i
Norge.' ),
- new Term( 'nn', 'Hovudstad i
Noreg.' ),
- )
- ),
- new AliasGroupList(
- array(
- new AliasGroup( 'nb', array(
'Christiania', 'Kristiania' ) ),
- new AliasGroup( 'nn', array(
'Christiania', 'Kristiania' ) ),
- new AliasGroup( 'de', array(
'Oslo City' ) ),
- new AliasGroup( 'en', array(
'Oslo City' ) ),
- new AliasGroup( 'nl', array(
'Oslo City' ) ),
- )
- )
- )
- );
- $entities['Q5']->getSiteLinkList()->addNewSiteLink( 'dewiki',
'Oslo' );
- $entities['Q5']->getSiteLinkList()->addNewSiteLink( 'enwiki',
'Oslo' );
- $entities['Q5']->getSiteLinkList()->addNewSiteLink( 'nlwiki',
'Oslo' );
- $entities['Q5']->getSiteLinkList()->addNewSiteLink( 'nnwiki',
'Oslo' );
-
- $entities['Q6'] = new Item( new ItemId( 'Q6' ) );
- $entities['Q6']->setFingerprint(
- new Fingerprint(
- new TermList(
- array(
- new Term( 'de', 'Episkopi
Cantonment' ),
- new Term( 'en', 'Episkopi
Cantonment' ),
- new Term( 'nl', 'Episkopi
Cantonment' ),
- )
- ),
- new TermList(
- array(
- new Term( 'de', 'Sitz der
Verwaltung der Mittelmeerinsel Zypern.' ),
- new Term( 'en', 'The capital of
Akrotiri and Dhekelia.' ),
- new Term( 'nl', 'Het
bestuurlijke centrum van Akrotiri en Dhekelia.' ),
- )
- ),
- new AliasGroupList(
- array(
- new AliasGroup( 'de', array(
'Episkopi' ) ),
- new AliasGroup( 'en', array(
'Episkopi' ) ),
- new AliasGroup( 'nl', array(
'Episkopi' ) ),
- )
- )
- )
- );
- $entities['Q6']->addSiteLink( new SiteLink( 'dewiki', 'Episkopi
Cantonment' ) );
- $entities['Q6']->addSiteLink( new SiteLink( 'enwiki', 'Episkopi
Cantonment' ) );
- $entities['Q6']->addSiteLink( new SiteLink( 'nlwiki', 'Episkopi
Cantonment' ) );
-
- $entities['Q7'] = new Item( new ItemId( 'Q7' ) );
- $entities['Q7']->setFingerprint(
- new Fingerprint(
- new TermList(
- array(
- new Term( 'de', 'Leipzig' ),
- )
- ),
- new TermList(
- array(
- new Term( 'de', 'Stadt in
Sachsen.' ),
- new Term( 'en', 'City in
Saxony.' ),
- )
- ),
- new AliasGroupList()
- )
- );
-
- $entities['Q8'] = new Item( new ItemId( 'Q8' ) );
- $entities['Q8']->setFingerprint(
- new Fingerprint(
- new TermList(
- array(
- new Term( 'de', 'Guangzhou' ),
- new Term( 'yue', "廣州" ),
- new Term( 'zh-cn', "广州市" ),
- )
- ),
- new TermList(
- array(
- new Term( 'en', 'Capital of
Guangdong.' ),
- new Term( 'zh-hk', "廣東的省會。" ),
- )
- ),
- new AliasGroupList()
- )
- );
-
- self::$testEntities = $entities;
}
}
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/api/FormatSnakValueTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/api/FormatSnakValueTest.php
index ed1aeca..ad74d04 100644
---
a/extensions/Wikibase/repo/tests/phpunit/includes/api/FormatSnakValueTest.php
+++
b/extensions/Wikibase/repo/tests/phpunit/includes/api/FormatSnakValueTest.php
@@ -4,12 +4,15 @@
use ApiTestCase;
use DataValues\DataValue;
+use DataValues\QuantityValue;
use DataValues\StringValue;
use DataValues\TimeValue;
-use ValueFormatters\TimeFormatter;
use Wikibase\DataModel\Entity\EntityIdValue;
+use Wikibase\DataModel\Entity\Item;
use Wikibase\DataModel\Entity\ItemId;
use Wikibase\Lib\SnakFormatter;
+use Wikibase\Lib\Store\StorageException;
+use Wikibase\Repo\WikibaseRepo;
/**
* @covers Wikibase\Api\FormatSnakValue
@@ -25,12 +28,6 @@
* @author Daniel Kinzler
*/
class FormatSnakValueTest extends ApiTestCase {
-
- protected function setUp() {
- parent::setUp();
-
- $this->setMwGlobals( 'wgArticlePath', '/wiki/$1' );
- }
public function provideApiRequest() {
$november11 = new TimeValue(
@@ -94,6 +91,13 @@
'@^http://acme\.test$@'
),
array(
+ QuantityValue::newFromNumber( '+12.33', '1' ),
+ 'quantity',
+ SnakFormatter::FORMAT_PLAIN,
+ array( 'lang' => 'de' ),
+ '@^12,33$@' // german decimal separator
+ ),
+ array(
new StringValue( 'http://acme.test' ),
'url',
SnakFormatter::FORMAT_WIKI,
@@ -108,21 +112,68 @@
'@commons\.wikimedia\.org\/wiki\/File:Example\.jpg@'
),
array(
- new EntityIdValue( new ItemId( 'Q2147483647' )
),
+ new EntityIdValue( new ItemId( 'Q404' ) ),
'wikibase-item',
SnakFormatter::FORMAT_HTML,
null,
- '/^Q2147483647' . $wordSeparator . '<span
class="wb-entity-undefinedinfo">\(' . preg_quote( $deletedItem, '/' ) .
'\)<\/span>$/'
+ '/^Q404' . $wordSeparator . '<span
class="wb-entity-undefinedinfo">\(' . preg_quote( $deletedItem, '/' ) .
'\)<\/span>$/'
+ ),
+ array(
+ new EntityIdValue( new ItemId( 'Q23' ) ),
+ 'wikibase-item',
+ SnakFormatter::FORMAT_HTML,
+ null,
+ '/^<a title="[^"]*Q23" href="[^"]+Q23">George
Washington<\/a>$/'
+ ),
+ array(
+ new EntityIdValue( new ItemId( 'Q23' ) ),
+ 'wikibase-item',
+ SnakFormatter::FORMAT_HTML,
+ array( 'lang' => 'de-ch' ), // fallback
+ '/^<a title="[^"]*Q23" href="[^"]+Q23"
lang="en">George Washington<\/a><sup
class="wb-language-fallback-indicator">[^<>]+<\/sup>$/'
),
// @TODO: Test an existing Item id
);
}
+ private function setUpEntities() {
+ global $wgUser;
+
+ static $setup = false;
+
+ if ( $setup ) {
+ return;
+ }
+
+ $setup = true;
+
+ $store =
WikibaseRepo::getDefaultInstance()->getStore()->getEntityStore();
+
+ // remove entities we care about
+ $idsToDelete = array( new ItemId( 'Q404' ), new ItemId( 'Q23' )
);
+ foreach ( $idsToDelete as $id ) {
+ try {
+ $store->deleteEntity( $id, 'test', $wgUser );
+ } catch ( StorageException $ex ) {
+ // ignore
+ }
+ }
+
+ // set up Q23
+ $item = new Item();
+ $item->setId( new ItemId( 'Q23' ) );
+ $item->getFingerprint()->setLabel( 'en', 'George Washington' );
+
+ $store->saveEntity( $item, 'testing', $wgUser, EDIT_NEW );
+ }
+
/**
* @dataProvider provideApiRequest
*/
public function testApiRequest( DataValue $value, $dataType, $format,
$options, $pattern ) {
+ $this->setUpEntities();
+
$params = array(
'action' => 'wbformatvalue',
'generate' => $format,
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/api/IndependentWikibaseApiTestCase.php
b/extensions/Wikibase/repo/tests/phpunit/includes/api/IndependentWikibaseApiTestCase.php
index aecb8b5..d2c4e52 100644
---
a/extensions/Wikibase/repo/tests/phpunit/includes/api/IndependentWikibaseApiTestCase.php
+++
b/extensions/Wikibase/repo/tests/phpunit/includes/api/IndependentWikibaseApiTestCase.php
@@ -53,7 +53,13 @@
public function doApiRequest( $params ) {
$module = $this->getModule( $params );
$module->execute();
- return $module->getResultData();
+
+ $data = $module->getResult()->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ return $data;
}
/**
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/api/MergeItemsTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/api/MergeItemsTest.php
index e6e2a0e..ff71ea3 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/api/MergeItemsTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/api/MergeItemsTest.php
@@ -120,7 +120,12 @@
$module->execute();
$result = $module->getResult();
- return $result->getData();
+ $data = $module->getResult()->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ return $data;
}
public function provideData() {
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/api/ParseValueTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/api/ParseValueTest.php
index f5dbea5..aedfc4f 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/api/ParseValueTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/api/ParseValueTest.php
@@ -84,7 +84,7 @@
'0/error-info' => '/^.+$/',
'0/expected-format' => 'decimal',
'0/messages/0/name' =>
'wikibase-parse-error',
- '0/messages/0/html/content' => '/^.+$/',
+ '0/messages/0/html' => '/^.+$/',
),
),
@@ -97,7 +97,7 @@
'0/error-info' => '/^.+$/',
'0/expected-format' => 'decimal',
'0/messages/0/name' =>
'wikibase-parse-error',
- '0/messages/0/html/content' => '/^.+$/',
+ '0/messages/0/html' => '/^.+$/',
),
),
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/api/ResultBuilderTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/api/ResultBuilderTest.php
index 3a893a4..08d778a 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/api/ResultBuilderTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/api/ResultBuilderTest.php
@@ -34,8 +34,7 @@
class ResultBuilderTest extends \PHPUnit_Framework_TestCase {
protected function getDefaultResult( $indexedMode = false ){
- $apiMain = $this->getMockBuilder( 'ApiMain'
)->disableOriginalConstructor()->getMockForAbstractClass();
- $result = new ApiResult( $apiMain );
+ $result = new ApiResult( false );
if ( $indexedMode ) {
$result->setRawMode();
@@ -121,7 +120,12 @@
$result = $this->getDefaultResult();
$resultBuilder = $this->getResultBuilder( $result );
$resultBuilder->markSuccess( $param );
- $this->assertEquals( array( 'success' => $expected ),
$result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( array( 'success' => $expected ), $data );
}
public function provideMarkResultSuccess() {
@@ -294,7 +298,12 @@
$resultBuilder = $this->getResultBuilder( $result );
$resultBuilder->addEntityRevision( null, $entityRevision, new
SerializationOptions(), $props );
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
public function testAddEntityRevisionKey() {
@@ -309,13 +318,13 @@
// automatic key
$resultBuilder->addEntityRevision( null, $entityRevision, new
SerializationOptions(), $props );
- $data = $result->getData();
+ $data = $result->getResultData();
$this->assertArrayHasKey( 'Q11', $data['entities'] );
// explicit key
$resultBuilder->addEntityRevision( 'FOO', $entityRevision, new
SerializationOptions(), $props );
- $data = $result->getData();
+ $data = $result->getResultData();
$this->assertArrayHasKey( 'FOO', $data['entities'] );
}
@@ -348,7 +357,12 @@
),
) );
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
/**
@@ -401,7 +415,12 @@
'_element' => 'entity'
) );
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => $indexedMode ? 'bc' : 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
public function testAddBasicEntityInformation() {
@@ -415,7 +434,12 @@
$resultBuilder = $this->getResultBuilder( $result );
$resultBuilder->addBasicEntityInformation( $entityId, 'entity'
);
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
public function testAddLabels(){
@@ -442,7 +466,12 @@
$resultBuilder = $this->getResultBuilder( $result );
$resultBuilder->addLabels( $labels, $path );
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
public function testAddDescriptions(){
@@ -469,7 +498,12 @@
$resultBuilder = $this->getResultBuilder( $result );
$resultBuilder->addDescriptions( $descriptions, $path );
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
public function testAddAliases(){
@@ -508,7 +542,12 @@
$resultBuilder = $this->getResultBuilder( $result );
$resultBuilder->addAliases( $aliases, $path );
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
public function testAddSiteLinks(){
@@ -540,7 +579,12 @@
$resultBuilder = $this->getResultBuilder( $result );
$resultBuilder->addSiteLinks( $siteLinks, $path );
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
public function testAddClaims(){
@@ -576,7 +620,12 @@
$resultBuilder = $this->getResultBuilder( $result );
$resultBuilder->addClaims( $claims, $path );
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
public function testAddClaim(){
@@ -602,7 +651,12 @@
$resultBuilder = $this->getResultBuilder( $result );
$resultBuilder->addClaim( $claim );
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
public function testAddReference(){
@@ -632,7 +686,12 @@
$resultBuilder = $this->getResultBuilder( $result );
$resultBuilder->addReference( $reference );
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
/**
@@ -651,7 +710,12 @@
$resultBuilder->addMissingEntity( $key, $missingDetails
);
}
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
public function provideMissingEntity() {
@@ -736,7 +800,12 @@
$resultBuilder = $this->getResultBuilder( $result );
$resultBuilder->addNormalizedTitle( $from, $to );
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
public function testAddRevisionIdFromStatusToResult() {
@@ -756,7 +825,12 @@
$resultBuilder = $this->getResultBuilder( $result );
$resultBuilder->addRevisionIdFromStatusToResult( $mockStatus,
'entity' );
- $this->assertEquals( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
+ $this->assertEquals( $expected, $data );
}
public function provideSetList() {
@@ -804,7 +878,12 @@
$builder = $this->getResultBuilder( $result );
$builder->setList( $path, $name, $values, $tag );
- $this->assertResultStructure( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => $indexed ? 'bc' : 'all',
+ ) );
+ $this->assertResultStructure( $expected, $data );
}
public function provideSetList_InvalidArgument() {
@@ -866,7 +945,12 @@
$builder = $this->getResultBuilder( $result );
$builder->setValue( $path, $name, $value );
- $this->assertResultStructure( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => $indexed ? 'bc' : 'all',
+ ) );
+ $this->assertResultStructure( $expected, $data );
}
public function provideSetValue_InvalidArgument() {
@@ -946,7 +1030,12 @@
$builder = $this->getResultBuilder( $result );
$builder->appendValue( $path, $key, $value, $tag );
- $this->assertResultStructure( $expected, $result->getData() );
+ $data = $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => $indexed ? 'bc' : 'all',
+ ) );
+ $this->assertResultStructure( $expected, $data );
}
public function provideAppendValue_InvalidArgument() {
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/api/SearchEntitiesTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/api/SearchEntitiesTest.php
index 931fcbc..e19abcf 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/api/SearchEntitiesTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/api/SearchEntitiesTest.php
@@ -228,7 +228,11 @@
$module->execute();
$result = $module->getResult();
- return $result->getData();
+ return $result->getResultData( null, array(
+ 'BC' => array(),
+ 'Types' => array(),
+ 'Strip' => 'all',
+ ) );
}
public function provideData() {
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/api/SetClaimTest.php
b/extensions/Wikibase/repo/tests/phpunit/includes/api/SetClaimTest.php
index 74a05e0..0e79ee5 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/api/SetClaimTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/api/SetClaimTest.php
@@ -8,7 +8,6 @@
use UsageException;
use Wikibase\DataModel\Claim\Claim;
use Wikibase\DataModel\Claim\Claims;
-use Wikibase\DataModel\Entity\EntityId;
use Wikibase\DataModel\Entity\Item;
use Wikibase\DataModel\Entity\ItemId;
use Wikibase\DataModel\Entity\Property;
@@ -163,7 +162,7 @@
}
}
- public function getInvalidCases() {
+ private function getInvalidCases() {
$store = WikibaseRepo::getDefaultInstance()->getEntityStore();
$item = new Item();
@@ -231,6 +230,10 @@
$claim->setReferences( new ReferenceList( array( $reference ) )
);
$cases['mismatching value in reference'] = array( $q17, $claim,
'modification-failed' );
+ $claim = new Statement( new Claim( $goodSnak ) );
+ $claim->setGuid( 'XXXX' );
+ $cases['invalid claim GUID'] = array( $qx, $claim,
'invalid-claim' );
+
return $cases;
}
@@ -277,13 +280,13 @@
/**
* @param Claim|array $claim Native or serialized claim object.
* @param ItemId $itemId
- * @param $claimCount
- * @param $requestLabel string a label to identify requests that are
made in errors
+ * @param int $claimCount
+ * @param string $requestLabel A label to identify requests that are
made in errors.
* @param int|null $index
* @param int|null $baserevid
* @param string $error
*/
- protected function makeRequest(
+ private function makeRequest(
$claim,
ItemId $itemId,
$claimCount,
@@ -294,7 +297,7 @@
) {
$serializerFactory = new SerializerFactory();
- if ( $claim instanceof Claim ) {
+ if ( $claim instanceof Statement ) {
$serializer =
$serializerFactory->newSerializerForObject( $claim );
$serializedClaim = $serializer->getSerialized( $claim );
} else {
@@ -330,7 +333,7 @@
*
* @return array|bool
*/
- protected function assertApiRequest( $params, $error ) {
+ private function assertApiRequest( $params, $error ) {
$resultArray = false;
try {
@@ -350,7 +353,7 @@
return $resultArray;
}
- protected function assertValidResponse( array $resultArray ) {
+ private function assertValidResponse( array $resultArray ) {
$this->assertResultSuccess( $resultArray );
$this->assertInternalType( 'array', $resultArray, 'top level
element is an array' );
$this->assertArrayHasKey( 'pageinfo', $resultArray, 'top level
element has a pageinfo key' );
@@ -363,17 +366,18 @@
/**
* @param Claim $claim
- * @param EntityId $entityId
- * @param $claimCount
- * @param $requestLabel string a label to identify requests that are
made in errors
+ * @param ItemId $itemId
+ * @param int $claimCount
+ * @param string $requestLabel A label to identify requests that are
made in errors.
*/
- protected function assertClaimWasSet(
+ private function assertClaimWasSet(
Claim $claim,
- EntityId $entityId,
+ ItemId $itemId,
$claimCount,
$requestLabel
) {
- $item =
WikibaseRepo::getDefaultInstance()->getEntityLookup()->getEntity( $entityId );
+ /** @var Item $item */
+ $item =
WikibaseRepo::getDefaultInstance()->getEntityLookup()->getEntity( $itemId );
$claims = new Claims( $item->getClaims() );
$this->assertTrue( $claims->hasClaim( $claim ), "Claims list
does not have claim after {$requestLabel}" );
@@ -383,7 +387,7 @@
$this->assertTrue( $claim->getQualifiers()->equals(
$savedClaim->getQualifiers() ) );
}
- $this->assertEquals( $claimCount, $claims->count(), "Claims
count is wrong after {$requestLabel}" );
+ $this->assertSame( $claimCount, $claims->count(), "Claims count
is wrong after {$requestLabel}" );
}
/**
diff --git
a/extensions/Wikibase/repo/tests/phpunit/includes/api/WikibaseApiTestCase.php
b/extensions/Wikibase/repo/tests/phpunit/includes/api/WikibaseApiTestCase.php
index 5987df7..a90102c 100644
---
a/extensions/Wikibase/repo/tests/phpunit/includes/api/WikibaseApiTestCase.php
+++
b/extensions/Wikibase/repo/tests/phpunit/includes/api/WikibaseApiTestCase.php
@@ -95,9 +95,6 @@
return $this->doApiRequest( $params, $session, false, $user );
}
- /**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- */
protected function initTestEntities( array $handles, array $idMap =
array() ) {
$activeHandles = EntityTestHelper::getActiveHandles();
@@ -122,8 +119,6 @@
}
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
- *
* Loads an entity from the database (via an API call).
*/
protected function loadEntity( $id ) {
@@ -138,7 +133,6 @@
}
/**
- * @deprecated Please override the services in the API and use
getTestEntity instead
* @see doTestQueryExceptions in IndependentWikibaseApiTestCase
*
* Do the test for exceptions from Api queries.
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 4685c63..17deb18 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1199,12 +1199,12 @@
"source": {
"type": "git",
"url":
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git",
- "reference": "f92b90659be189dc37baa16e46a0e3a3ea3b186c"
+ "reference": "891e7b3285cebc3154012228fdb117e87742fd8b"
},
"dist": {
"type": "zip",
- "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/f92b90659be189dc37baa16e46a0e3a3ea3b186c",
- "reference": "f92b90659be189dc37baa16e46a0e3a3ea3b186c",
+ "url":
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/891e7b3285cebc3154012228fdb117e87742fd8b",
+ "reference": "891e7b3285cebc3154012228fdb117e87742fd8b",
"shasum": ""
},
"require": {
@@ -1231,7 +1231,7 @@
"conflict": {
"mediawiki/mediawiki": "<1.23"
},
- "time": "2015-04-16 21:25:02",
+ "time": "2015-04-18 01:24:08",
"type": "mediawiki-extension",
"installation-source": "dist",
"autoload": {
--
To view, visit https://gerrit.wikimedia.org/r/205003
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8dc3dfa8534e4206401ab01ee37b34f1dcf947f8
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits