Skip to content

Commit d89b1da

Browse files
royoparogeriopradoj
authored andcommitted
added some tests to datetime and dateinterval functions
1 parent 813830e commit d89b1da

12 files changed

+237
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
--TEST--
2+
Test date_interval_create_from_date_string() function : basic functionality
3+
--CREDITS--
4+
Rodrigo Prado de Jesus <royopa [at] gmail [dot] com>
5+
--FILE--
6+
<?php
7+
$string = '1 day'; //P1D
8+
$i = date_interval_create_from_date_string($string);
9+
var_dump($i->d);
10+
11+
$string = '2 weeks'; //14 days
12+
$i = date_interval_create_from_date_string($string);
13+
var_dump($i->d);
14+
15+
$string = '3 months';
16+
$i = date_interval_create_from_date_string($string);
17+
var_dump($i->m);
18+
19+
$string = '4 years';
20+
$i = date_interval_create_from_date_string($string);
21+
var_dump($i->y);
22+
23+
$string = '1 year + 1 day';
24+
$i = date_interval_create_from_date_string($string);
25+
var_dump($i->y);
26+
var_dump($i->d);
27+
?>
28+
--EXPECTF--
29+
int(1)
30+
int(14)
31+
int(3)
32+
int(4)
33+
int(1)
34+
int(1)
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
--TEST--
2+
Test date_interval_create_from_date_string() function : null parameter
3+
--CREDITS--
4+
Rodrigo Prado de Jesus <royopa [at] gmail [dot] com>
5+
--FILE--
6+
<?php
7+
$i = date_interval_create_from_date_string(null); //returns a empty object
8+
var_dump($i);
9+
?>
10+
--EXPECTF--
11+
object(DateInterval)#1 (15) {
12+
["y"]=>
13+
int(0)
14+
["m"]=>
15+
int(0)
16+
["d"]=>
17+
int(0)
18+
["h"]=>
19+
int(0)
20+
["i"]=>
21+
int(0)
22+
["s"]=>
23+
int(0)
24+
["weekday"]=>
25+
int(0)
26+
["weekday_behavior"]=>
27+
int(0)
28+
["first_last_day_of"]=>
29+
int(0)
30+
["invert"]=>
31+
int(0)
32+
["days"]=>
33+
int(0)
34+
["special_type"]=>
35+
int(0)
36+
["special_amount"]=>
37+
int(0)
38+
["have_weekday_relative"]=>
39+
int(0)
40+
["have_special_relative"]=>
41+
int(0)
42+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
--TEST--
2+
Test date_interval_create_from_date_string() function : wrong parameter (array)
3+
--CREDITS--
4+
Rodrigo Prado de Jesus <royopa [at] gmail [dot] com>
5+
--FILE--
6+
<?php
7+
$wrong_parameter = array();
8+
$i = date_interval_create_from_date_string($wrong_parameter);
9+
?>
10+
--EXPECTF--
11+
Warning: date_interval_create_from_date_string() expects parameter 1 to be string, array given in %s on line %d
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
--TEST--
2+
Test date_interval_create_from_date_string() function : with 2 parameters (wrong).
3+
Rodrigo Prado de Jesus <royopa [at] gmail [dot] com>
4+
--FILE--
5+
<?php
6+
$i = date_interval_create_from_date_string('1 year', 'wrong');
7+
?>
8+
--EXPECTF--
9+
Warning: date_interval_create_from_date_string() expects exactly 1 parameter, 2 given in %s on line %d
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
--TEST--
2+
Test the basics to function date_timestamp_set().
3+
--CREDITS--
4+
Rodrigo Prado de Jesus <royopa [at] gmail [dot] com>
5+
--INI--
6+
date.timezone = UTC;
7+
date_default_timezone_set("America/Sao_Paulo");
8+
--FILE--
9+
<?php
10+
$dftz021 = date_default_timezone_get(); //UTC
11+
12+
$dtms021 = date_create();
13+
14+
date_timestamp_set($dtms021, 1234567890);
15+
16+
var_dump(date_format($dtms021, 'B => (U) => T Y-M-d H:i:s'));
17+
?>
18+
--EXPECTF--
19+
string(47) "021 => (1234567890) => UTC 2009-Feb-13 23:31:30"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--TEST--
2+
Test the function date_timestamp_set() with first null parameter.
3+
--CREDITS--
4+
Rodrigo Prado de Jesus <royopa [at] gmail [dot] com>
5+
--INI--
6+
date.timezone = UTC;
7+
date_default_timezone_set("America/Sao_Paulo");
8+
--FILE--
9+
<?php
10+
$dftz021 = date_default_timezone_get(); //UTC
11+
12+
$dtms021 = date_create();
13+
14+
date_timestamp_set(null, 1234567890);
15+
?>
16+
--EXPECTF--
17+
Warning: date_timestamp_set() expects parameter 1 to be DateTime, null given in %s on line %d
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
--TEST--
2+
Test the function date_timestamp_set() with second null parameter.
3+
--CREDITS--
4+
Rodrigo Prado de Jesus <royopa [at] gmail [dot] com>
5+
--INI--
6+
date.timezone = UTC;
7+
date_default_timezone_set("America/Sao_Paulo");
8+
--FILE--
9+
<?php
10+
$dftz021 = date_default_timezone_get(); //UTC
11+
12+
$dtms021 = date_create();
13+
14+
var_dump(date_timestamp_set($dtms021, null));
15+
?>
16+
--EXPECTF--
17+
object(DateTime)#1 (3) {
18+
["date"]=>
19+
string(26) "1970-01-01 00:00:00.000000"
20+
["timezone_type"]=>
21+
int(3)
22+
["timezone"]=>
23+
string(3) "UTC"
24+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--TEST--
2+
Check the function date_timestamp_set() with first parameter wrong (array).
3+
--CREDITS--
4+
Rodrigo Prado de Jesus <royopa [at] gmail [dot] com>
5+
--INI--
6+
date.timezone = UTC;
7+
date_default_timezone_set("America/Sao_Paulo");
8+
--FILE--
9+
<?php
10+
$dftz021 = date_default_timezone_get(); //UTC
11+
12+
$dtms021 = array();
13+
14+
date_timestamp_set($dtms021, 123456789);
15+
?>
16+
--EXPECTF--
17+
Warning: date_timestamp_set() expects parameter 1 to be DateTime, array given in %s on line %d
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
--TEST--
2+
Check the function date_timestamp_set() with first parameter wrong (integer).
3+
--CREDITS--
4+
Rodrigo Prado de Jesus <royopa [at] gmail [dot] com>
5+
--INI--
6+
date.timezone = UTC;
7+
date_default_timezone_set("America/Sao_Paulo");
8+
--FILE--
9+
<?php
10+
$dftz021 = date_default_timezone_get(); //UTC
11+
12+
date_timestamp_set(987654321, 123456789);
13+
?>
14+
--EXPECTF--
15+
Warning: date_timestamp_set() expects parameter 1 to be DateTime, integer given in %s on line %d
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
--TEST--
2+
Check the function date_timestamp_set() with second parameter wrong (array).
3+
--CREDITS--
4+
Rodrigo Prado de Jesus <royopa [at] gmail [dot] com>
5+
--INI--
6+
date.timezone = UTC;
7+
date_default_timezone_set("America/Sao_Paulo");
8+
--FILE--
9+
<?php
10+
$dftz021 = date_default_timezone_get(); //UTC
11+
12+
$dtms021 = new DateTime();
13+
14+
$wrong_parameter = array();
15+
16+
date_timestamp_set($dtms021, $wrong_parameter);
17+
?>
18+
--EXPECTF--
19+
Warning: date_timestamp_set() expects parameter 2 to be long, array given in %s on line %d
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--TEST--
2+
Check the function date_timestamp_set() with 3 parameters.
3+
--CREDITS--
4+
Rodrigo Prado de Jesus <royopa [at] gmail [dot] com>
5+
--INI--
6+
date.timezone = UTC;
7+
date_default_timezone_set("America/Sao_Paulo");
8+
--FILE--
9+
<?php
10+
$dftz021 = date_default_timezone_get(); //UTC
11+
12+
$dtms021 = new DateTime();
13+
14+
date_timestamp_set($dtms021, 123456789, 'error');
15+
?>
16+
--EXPECTF--
17+
Warning: date_timestamp_set() expects exactly 2 parameters, 3 given in %s on line %d
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
--TEST--
2+
Test the basics to function timezone_version_get().
3+
--CREDITS--
4+
Rodrigo Prado de Jesus <royopa [at] gmail [dot] com>
5+
--INI--
6+
date.timezone = UTC;
7+
date_default_timezone_set("America/Sao_Paulo");
8+
--FILE--
9+
<?php
10+
var_dump(timezone_version_get());
11+
?>
12+
--EXPECTREGEX--
13+
string\([6-7]\) \"20[0-9][0-9]\.[1-9][0-9]?\"

0 commit comments

Comments
 (0)