Thiemo Mättig (WMDE) has uploaded a new change for review.
https://gerrit.wikimedia.org/r/303782
Change subject: Don't render zero before/after as "0 days" in
TimeDetailsFormatter
......................................................................
Don't render zero before/after as "0 days" in TimeDetailsFormatter
The precision is always rendered with the unit, e.g. "1 day". But it is
of no value to render "before: 0 days" and "after: 0 days" with a unit.
Change-Id: I14a11cdff6723c1810cb3b0f95e58d9b3cf83d54
---
M lib/includes/Formatters/TimeDetailsFormatter.php
M lib/tests/phpunit/Formatters/TimeDetailsFormatterTest.php
2 files changed, 15 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/82/303782/1
diff --git a/lib/includes/Formatters/TimeDetailsFormatter.php
b/lib/includes/Formatters/TimeDetailsFormatter.php
index 728e92b..db263c5 100644
--- a/lib/includes/Formatters/TimeDetailsFormatter.php
+++ b/lib/includes/Formatters/TimeDetailsFormatter.php
@@ -163,6 +163,11 @@
* @return string HTML
*/
private function getAmountAndPrecisionHtml( $precision, $amount = 1 ) {
+ if ( $amount === 0 ) {
+ // TODO: Use NumberLocalizer
+ return '0';
+ }
+
$key = 'years';
switch ( $precision ) {
@@ -194,6 +199,7 @@
}
$lang = $this->getOption( ValueFormatter::OPT_LANG );
+ // TODO: Use NumberLocalizer
$msg = wfMessage( $key, $amount )->inLanguage( $lang );
return htmlspecialchars( $msg->text() );
}
diff --git a/lib/tests/phpunit/Formatters/TimeDetailsFormatterTest.php
b/lib/tests/phpunit/Formatters/TimeDetailsFormatterTest.php
index 040ebc2..bebc623 100644
--- a/lib/tests/phpunit/Formatters/TimeDetailsFormatterTest.php
+++ b/lib/tests/phpunit/Formatters/TimeDetailsFormatterTest.php
@@ -112,7 +112,7 @@
'<td[^<>]*>\+01:00</td>',
'<td[^<>]*>\(valueview-expert-timevalue-calendar-gregorian\)</td>',
'<td[^<>]*>\(months: 1\)</td>',
- '<td[^<>]*>\(months: 0\)</td>',
+ '<td[^<>]*>0</td>',
'<td[^<>]*>\(months: 1\)</td>',
)
) . '@s'
@@ -169,6 +169,14 @@
new TimeValue( '+2001-01-01T00:00:00Z', 0, 0,
125, $day, $gregorian ),
'@.*<td[^<>]*after">\(days: 125\)</td>.*@s'
),
+ 'Extreme range' => array(
+ new TimeValue( '+2001-01-01T00:00:00Z', 0,
1000000, 1000000, $day, $gregorian ),
+ '@<td[^<>]*before">\(days:
1000000\)</td>.*<td[^<>]*after">\(days: 1000000\)</td>@s'
+ ),
+ 'Zero range' => array(
+ new TimeValue( '+2001-01-01T00:00:00Z', 0, 0,
0, $day, $gregorian ),
+
'@<td[^<>]*before">0</td>.*<td[^<>]*after">0</td>@s'
+ ),
);
}
--
To view, visit https://gerrit.wikimedia.org/r/303782
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I14a11cdff6723c1810cb3b0f95e58d9b3cf83d54
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits