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 * @covers ContribsPager::processDateFilter
22 * @dataProvider dateFilterOptionProcessingProvider
23 * @param array $inputOpts Input options
24 * @param array $expectedOpts Expected options
26 public function testDateFilterOptionProcessing( $inputOpts, $expectedOpts ) {
27 $this->assertArraySubset( $expectedOpts, ContribsPager
::processDateFilter( $inputOpts ) );
30 public static function dateFilterOptionProcessingProvider() {
32 [ [ 'start' => '2016-05-01',
33 'end' => '2016-06-01',
36 [ 'start' => '2016-05-01',
37 'end' => '2016-06-01' ] ],
38 [ [ 'start' => '2016-05-01',
39 'end' => '2016-06-01',
42 [ 'start' => '2016-05-01',
43 'end' => '2016-06-01' ] ],
44 [ [ 'start' => '2016-05-01',
45 'end' => '2016-06-01',
49 'end' => '2012-05-31' ] ],
55 'end' => '2012-05-31' ] ],
61 'end' => '2012-12-31' ] ],
66 * @covers ContribsPager::isQueryableRange
67 * @dataProvider provideQueryableRanges
69 public function testQueryableRanges( $ipRange ) {
70 $this->setMwGlobals( [
71 'wgRangeContributionsCIDRLimit' => [
78 $this->pager
->isQueryableRange( $ipRange ),
79 "$ipRange is a queryable IP range"
83 public function provideQueryableRanges() {
85 [ '116.17.184.5/32' ],
93 * @covers ContribsPager::isQueryableRange
94 * @dataProvider provideUnqueryableRanges
96 public function testUnqueryableRanges( $ipRange ) {
97 $this->setMwGlobals( [
98 'wgRangeContributionsCIDRLimit' => [
105 $this->pager
->isQueryableRange( $ipRange ),
106 "$ipRange is not a queryable IP range"
110 public function provideUnqueryableRanges() {
112 [ '116.17.184.5/33' ],
115 [ '2001:db8::/9999' ],