Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F2753721
RangeChronologicalPagerTest.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
RangeChronologicalPagerTest.php
View Options
<?php
use
MediaWiki\MediaWikiServices
;
use
MediaWiki\Pager\RangeChronologicalPager
;
/**
* Test class for RangeChronologicalPagerTest logic.
*
* @group Pager
* @group Database
*
* @author Geoffrey Mon <geofbot@gmail.com>
*/
class
RangeChronologicalPagerTest
extends
MediaWikiIntegrationTestCase
{
/**
* @covers \MediaWiki\Pager\RangeChronologicalPager::getDateCond
* @dataProvider getDateCondProvider
*/
public
function
testGetDateCond
(
$inputYear
,
$inputMonth
,
$inputDay
,
$expected
)
{
$pager
=
$this
->
getMockForAbstractClass
(
RangeChronologicalPager
::
class
);
$this
->
assertEquals
(
$expected
,
wfTimestamp
(
TS_MW
,
$pager
->
getDateCond
(
$inputYear
,
$inputMonth
,
$inputDay
)
)
);
}
/**
* Data provider in [ input year, input month, input day, expected timestamp output ] format
*/
public
static
function
getDateCondProvider
()
{
return
[
[
2016
,
12
,
5
,
'20161206000000'
],
[
2016
,
12
,
31
,
'20170101000000'
],
[
2016
,
12
,
1337
,
'20170101000000'
],
[
2016
,
1337
,
1337
,
'20170101000000'
],
[
2016
,
1337
,
-
1
,
'20170101000000'
],
[
2016
,
12
,
32
,
'20170101000000'
],
[
2016
,
12
,
-
1
,
'20170101000000'
],
[
2016
,
-
1
,
-
1
,
'20170101000000'
],
];
}
/**
* @covers \MediaWiki\Pager\RangeChronologicalPager::getDateRangeCond
* @dataProvider getDateRangeCondProvider
*/
public
function
testGetDateRangeCond
(
$start
,
$end
,
$expected
)
{
$pager
=
$this
->
getMockForAbstractClass
(
RangeChronologicalPager
::
class
);
$this
->
assertArrayEquals
(
$expected
,
$pager
->
getDateRangeCond
(
$start
,
$end
)
);
}
/**
* Data provider in [ start, end, [ expected output has start condition, has end cond ] ] format
*/
public
static
function
getDateRangeCondProvider
()
{
$dbw
=
MediaWikiServices
::
getInstance
()->
getConnectionProvider
()->
getPrimaryDatabase
();
return
[
[
'20161201000000'
,
'20161202235959'
,
[
$dbw
->
buildComparison
(
'>='
,
[
''
=>
$dbw
->
timestamp
(
'20161201000000'
)
]
),
$dbw
->
buildComparison
(
'<'
,
[
''
=>
$dbw
->
timestamp
(
'20161203000000'
)
]
),
],
],
[
''
,
'20161202235959'
,
[
$dbw
->
buildComparison
(
'<'
,
[
''
=>
$dbw
->
timestamp
(
'20161203000000'
)
]
),
],
],
[
'20161201000000'
,
''
,
[
$dbw
->
buildComparison
(
'>='
,
[
''
=>
$dbw
->
timestamp
(
'20161201000000'
)
]
),
],
],
[
''
,
''
,
[]
],
];
}
/**
* @covers \MediaWiki\Pager\RangeChronologicalPager::getDateRangeCond
* @dataProvider getDateRangeCondInvalidProvider
*/
public
function
testGetDateRangeCondInvalid
(
$start
,
$end
)
{
$pager
=
$this
->
getMockForAbstractClass
(
RangeChronologicalPager
::
class
);
$this
->
assertNull
(
$pager
->
getDateRangeCond
(
$start
,
$end
)
);
}
public
static
function
getDateRangeCondInvalidProvider
()
{
return
[
[
'-2016-12-01'
,
'2017-12-01'
,
],
[
'2016-12-01'
,
'-2017-12-01'
,
],
[
'abcdefghij'
,
'klmnopqrstu'
,
],
];
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Fri, Jul 3, 21:39 (16 h, 29 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
23/e4/583b98dd201c25e4485da86eb446
Default Alt Text
RangeChronologicalPagerTest.php (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment