1
0
mirror of https://github.com/php/php-src.git synced 2026-03-29 11:42:17 +02:00
Files
archived-php-src/ext/standard/tests/time/strptime_basic.phpt
Nikita Popov cdc4e49b84 Make strftime tests musl compatible
* Remove usage of strftime() in favor of date() in cases where
   we are not specifically testing strftime(). We implement
   date() ourselves, and as such are insulated from implementation-
   defined behavior.
 * Add skipif for broken strftime() %Z support. We have decided
   not to work around the issue for musl using manual expansion,
   as people should not be using this function anyway, and it is
   slated for future deprecation.
 * Don't test strftime() with invalid format specifier. The
   behavior is implementation-dependent.
2020-08-13 12:02:27 +02:00

94 lines
1.6 KiB
PHP

--TEST--
Test strptime() function : basic functionality
--SKIPIF--
<?php
if (!function_exists('strptime')) {
die("skip - strptime() function not available in this build");
}
if (PHP_OS == 'Darwin') die("skip - strptime() behaves differently on Darwin");
if (!strftime('%Z')) die('skip strftime does not support %Z');
?>
--FILE--
<?php
$orig = setlocale(LC_ALL, 'C');
date_default_timezone_set("GMT");
echo "*** Testing strptime() : basic functionality ***\n";
$input = "10:00:00 AM July 2 1963";
$tstamp = strtotime($input);
$str = strftime("%r %B%e %Y %Z", $tstamp);
var_dump(strptime($str, '%H:%M:%S %p %B %d %Y'));
$str = strftime("%T %D", $tstamp);
var_dump(strptime($str, '%H:%M:%S %m/%d/%y'));
$str = strftime("%A %B %e %R", $tstamp);
var_dump(strptime($str, '%A %B %e %R'));
setlocale(LC_ALL, $orig);
?>
--EXPECT--
*** Testing strptime() : basic functionality ***
array(9) {
["tm_sec"]=>
int(0)
["tm_min"]=>
int(0)
["tm_hour"]=>
int(10)
["tm_mday"]=>
int(2)
["tm_mon"]=>
int(6)
["tm_year"]=>
int(63)
["tm_wday"]=>
int(2)
["tm_yday"]=>
int(182)
["unparsed"]=>
string(4) " GMT"
}
array(9) {
["tm_sec"]=>
int(0)
["tm_min"]=>
int(0)
["tm_hour"]=>
int(10)
["tm_mday"]=>
int(2)
["tm_mon"]=>
int(6)
["tm_year"]=>
int(163)
["tm_wday"]=>
int(1)
["tm_yday"]=>
int(182)
["unparsed"]=>
string(0) ""
}
array(9) {
["tm_sec"]=>
int(0)
["tm_min"]=>
int(0)
["tm_hour"]=>
int(10)
["tm_mday"]=>
int(2)
["tm_mon"]=>
int(6)
["tm_year"]=>
int(0)
["tm_wday"]=>
int(2)
["tm_yday"]=>
int(182)
["unparsed"]=>
string(0) ""
}