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

Reply via email to