$formatted .= '<br />' . $this->msg(
'ipb-blocklist-duration-left',
$language->formatDuration(
- $timestamp->getTimestamp() - time(),
+ $timestamp->getTimestamp() - MWTimestamp::time(),
// reasonable output
[
'minutes',
* @dataProvider formatValueEmptyProvider
* @dataProvider formatValueDefaultProvider
* @param string $name
- * @param string $value
* @param string $expected
*/
- public function testFormatValue( $name, $value, $expected, $row = null ) {
+ public function testFormatValue( $name, $expected = null, $row = null ) {
$this->setMwGlobals( [
'wgEnablePartialBlocks' => false,
] );
+ // Set the time to now so it does not get off during the test.
+ MWTimestamp::setFakeTime( MWTimestamp::time() );
+
+ $value = $name === 'ipb_timestamp' ? MWTimestamp::time() : '';
+ $expected = $expected ?? MWTimestamp::getInstance()->format( 'H:i, j F Y' );
+
$row = $row ?: new stdClass;
$pager = new BlockListPager( new SpecialPage(), [] );
$wrappedPager = TestingAccessWrapper::newFromObject( $pager );
$formatted = $pager->formatValue( $name, $value );
$this->assertEquals( $expected, $formatted );
+
+ // Reset the time.
+ MWTimestamp::setFakeTime( false );
}
/**
return [
[
'test',
- '',
'Unable to format test',
],
[
'ipb_timestamp',
- wfTimestamp( TS_UNIX ),
- date( 'H:i, j F Y' ),
],
[
'ipb_expiry',
- '',
'infinite<br />0 minutes left',
],
];
return [
[
'test',
- '',
'Unable to format test',
$row,
],
[
'ipb_timestamp',
- wfTimestamp( TS_UNIX ),
- date( 'H:i, j F Y' ),
+ null,
$row,
],
[
'ipb_expiry',
- '',
'infinite<br />0 minutes left',
$row,
],
[
'ipb_by',
- '',
$row->ipb_by_text,
$row,
],
[
'ipb_params',
- '',
'<ul><li>account creation disabled</li><li>cannot edit own talk page</li></ul>',
$row,
]