<?php
+use MediaWiki\Block\DatabaseBlock;
use MediaWiki\Block\Restriction\PageRestriction;
use MediaWiki\Block\Restriction\NamespaceRestriction;
use MediaWiki\MediaWikiServices;
* @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,
]
$target = '127.0.0.1';
// Test Partial Blocks Blocks.
- $block = new Block( [
+ $block = new DatabaseBlock( [
'address' => $target,
'by' => $this->getTestSysop()->getUser()->getId(),
'reason' => 'Parce que',
$restriction = $restrictions[0];
$this->assertEquals( $page->getId(), $restriction->getValue() );
$this->assertEquals( $page->getId(), $restriction->getTitle()->getArticleID() );
- $this->assertEquals( $title->getDBKey(), $restriction->getTitle()->getDBKey() );
+ $this->assertEquals( $title->getDBkey(), $restriction->getTitle()->getDBkey() );
$this->assertEquals( $title->getNamespace(), $restriction->getTitle()->getNamespace() );
// Delete the block and the restrictions.