6 class ContribsPagerTest
extends MediaWikiTestCase
{
7 /** @var ContribsPager */
11 $context = new RequestContext();
12 $this->pager
= new ContribsPager( $context, [
13 'start' => '2017-01-01',
14 'end' => '2017-02-02',
21 * @dataProvider dateFilterOptionProcessingProvider
22 * @param array $inputOpts Input options
23 * @param array $expectedOpts Expected options
25 public function testDateFilterOptionProcessing( $inputOpts, $expectedOpts ) {
26 $this->assertArraySubset( $expectedOpts, ContribsPager
::processDateFilter( $inputOpts ) );
29 public static function dateFilterOptionProcessingProvider() {
31 [ [ 'start' => '2016-05-01',
32 'end' => '2016-06-01',
35 [ 'start' => '2016-05-01',
36 'end' => '2016-06-01' ] ],
37 [ [ 'start' => '2016-05-01',
38 'end' => '2016-06-01',
41 [ 'start' => '2016-05-01',
42 'end' => '2016-06-01' ] ],
43 [ [ 'start' => '2016-05-01',
44 'end' => '2016-06-01',
48 'end' => '2012-05-31' ] ],
54 'end' => '2012-05-31' ] ],
60 'end' => '2012-12-31' ] ],
65 * @covers ContribsPager::isQueryableRange
66 * @dataProvider provideQueryableRanges
68 public function testQueryableRanges( $ipRange ) {
69 $this->setMwGlobals( [
70 'wgRangeContributionsCIDRLimit' => [
77 $this->pager
->isQueryableRange( $ipRange ),
78 "$ipRange is a queryable IP range"
82 public function provideQueryableRanges() {
84 [ '116.17.184.5/32' ],
92 * @covers ContribsPager::isQueryableRange
93 * @dataProvider provideUnqueryableRanges
95 public function testUnqueryableRanges( $ipRange ) {
96 $this->setMwGlobals( [
97 'wgRangeContributionsCIDRLimit' => [
104 $this->pager
->isQueryableRange( $ipRange ),
105 "$ipRange is not a queryable IP range"
109 public function provideUnqueryableRanges() {
111 [ '116.17.184.5/33' ],
114 [ '2001:db8::/9999' ],