Date/Time: Add unit tests for the human_time_diff
function.
Verify that `human_time_diff` works as expected for minute, hour and day intervals. Test that rounding works as expected when the time difference is near the rounding margin. Props SGr33n. Fixes #38773. git-svn-id: https://develop.svn.wordpress.org/trunk@41018 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
bb6e34a7fd
commit
33755709e4
69
tests/phpunit/tests/formatting/HumanTimeDiff.php
Normal file
69
tests/phpunit/tests/formatting/HumanTimeDiff.php
Normal file
@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @group formatting
|
||||
* @ticket 38773
|
||||
*/
|
||||
class Tests_Formatting_HumanTimeDiff extends WP_UnitTestCase {
|
||||
|
||||
/**
|
||||
* @group formatting
|
||||
* @ticket 38773
|
||||
* @dataProvider data_test_human_time_diff
|
||||
*/
|
||||
function test_human_time_diff( $expected, $stopdate, $message ) {
|
||||
$startdate = new DateTime( '2016-01-01 12:00:00' );
|
||||
$this->assertEquals( $expected, human_time_diff( $startdate->format( 'U' ), $stopdate->format( 'U' ) ), $message );
|
||||
}
|
||||
|
||||
// Data for test_human_time_diff.
|
||||
function data_test_human_time_diff() {
|
||||
return array(
|
||||
array(
|
||||
'5 mins',
|
||||
new DateTime( '2016-01-01 12:05:00' ),
|
||||
'Test a difference of 5 minutes.',
|
||||
),
|
||||
array(
|
||||
'1 hour',
|
||||
new DateTime( '2016-01-01 13:00:00' ),
|
||||
'Test a difference of 1 hour.',
|
||||
),
|
||||
array(
|
||||
'2 days',
|
||||
new DateTime( '2016-01-03 12:00:00' ),
|
||||
'Test a difference of 2 days.',
|
||||
),
|
||||
array(
|
||||
'2 hours',
|
||||
new DateTime( '2016-01-01 14:29:59' ),
|
||||
'Test a difference of 2 hours, 29 minutes and 59 seconds - should round down to 2 hours.',
|
||||
),
|
||||
array(
|
||||
'3 hours',
|
||||
new DateTime( '2016-01-01 14:30:00' ),
|
||||
'Test a difference of 2 hours and 30 minutes - should round up to 3 hours.',
|
||||
),
|
||||
array(
|
||||
'2 months',
|
||||
new DateTime( '2016-02-15 12:00:00' ),
|
||||
'Test a difference of 1 month and 15 days - should round up to 2 months.',
|
||||
),
|
||||
array(
|
||||
'1 month',
|
||||
new DateTime( '2016-02-14 12:00:00' ),
|
||||
'Test a difference of 1 month and 14 days - should round down to 1 month.',
|
||||
),
|
||||
array(
|
||||
'3 years',
|
||||
new DateTime( '2018-07-02 12:00:00' ),
|
||||
'Test a difference of 2 years 6 months and 1 day, should round up to 3 years.',
|
||||
),
|
||||
array(
|
||||
'2 years',
|
||||
new DateTime( '2018-07-01 12:00:00' ),
|
||||
'Test a difference of 2 years 6 months, should round down to 2 years.',
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user