Skip to content

Commit f6a8163

Browse files
committed
ext/intl: dateformatter settimezone changes on success, returning true
like setcalendar.
1 parent 6a71153 commit f6a8163

7 files changed

+22
-16
lines changed

UPGRADING

+4
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ PHP 8.3 UPGRADE NOTES
7676
- Dom:
7777
. Changed DOMCharacterData::appendData() tentative return type to true.
7878

79+
- Intl:
80+
. IntlDateformatter::setTimeZone now returns true on sucess, previously null
81+
was returned.
82+
7983
- MBString:
8084
. mb_strtolower, mb_strtotitle, and mb_convert_case implement conditional
8185
casing rules for the Greek letter sigma. For mb_convert_case, conditional

ext/intl/dateformat/dateformat.stub.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ public function getTimeZone(): IntlTimeZone|false {}
136136
* @tentative-return-type
137137
* @alias datefmt_set_timezone
138138
*/
139-
public function setTimeZone($timezone): ?bool {} // TODO return true on success
139+
public function setTimeZone($timezone): bool {}
140140

141141
/**
142142
* @tentative-return-type

ext/intl/dateformat/dateformat_arginfo.h

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ext/intl/dateformat/dateformat_attrcpp.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ U_CFUNC PHP_FUNCTION(datefmt_set_timezone)
101101
}
102102

103103
fetch_datefmt(dfo)->adoptTimeZone(timezone);
104+
105+
RETURN_TRUE;
104106
}
105107

106108
/* {{{ Get formatter calendar type. */

ext/intl/tests/dateformat_set_timezone_id2.phpt

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ function ut_main()
3737

3838
$res_str .= "-----------";
3939
$res_str .= "\nTrying to set timezone_id= $timezone_id_entry";
40-
ut_datefmt_set_timezone_id( $fmt , $timezone_id_entry );
40+
if (ut_datefmt_set_timezone_id( $fmt , $timezone_id_entry ) !== true) die("ut_datefmt_set_timezone_id failed");
4141
$timezone_id = ut_datefmt_get_timezone_id( $fmt );
4242
$res_str .= "\nAfter call to set_timezone_id : timezone_id= $timezone_id";
4343
$formatted = ut_datefmt_format( $fmt, 0);

ext/intl/tests/dateformat_set_timezone_id3.phpt

+6-6
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ ini_set("intl.error_level", E_WARNING);
2020
function ut_main()
2121
{
2222
$timezone_id_arr = array (
23-
'America/New_York',
24-
'America/Los_Angeles',
25-
'America/Chicago',
26-
'CN'
23+
'America/New_York' => true,
24+
'America/Los_Angeles' => true,
25+
'America/Chicago' => true,
26+
'CN' => false
2727
);
2828
$timestamp_entry = 0;
2929

@@ -33,12 +33,12 @@ function ut_main()
3333
$timezone_id = ut_datefmt_get_timezone_id( $fmt );
3434
$res_str .= "\nAfter creation of the dateformatter : timezone_id= $timezone_id\n";
3535

36-
foreach( $timezone_id_arr as $timezone_id_entry )
36+
foreach( $timezone_id_arr as $timezone_id_entry => $result )
3737
{
3838

3939
$res_str .= "-----------";
4040
$res_str .= "\nTrying to set timezone_id= $timezone_id_entry";
41-
ut_datefmt_set_timezone_id( $fmt , $timezone_id_entry );
41+
if (ut_datefmt_set_timezone_id( $fmt , $timezone_id_entry ) !== $result) die("ut_datefmt_set_timezone_id failed");
4242
$timezone_id = ut_datefmt_get_timezone_id( $fmt );
4343
$res_str .= "\nAfter call to set_timezone_id : timezone_id= $timezone_id";
4444
$formatted = ut_datefmt_format( $fmt, 0);

ext/intl/tests/dateformat_set_timezone_id_icu72-1.phpt

+6-6
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ ini_set("intl.error_level", E_WARNING);
1919
function ut_main()
2020
{
2121
$timezone_id_arr = array (
22-
'America/New_York',
23-
'America/Los_Angeles',
24-
'America/Chicago',
25-
'CN'
22+
'America/New_York' => true,
23+
'America/Los_Angeles' => true,
24+
'America/Chicago' => true,
25+
'CN' => false
2626
);
2727
$timestamp_entry = 0;
2828

@@ -32,12 +32,12 @@ function ut_main()
3232
$timezone_id = ut_datefmt_get_timezone_id( $fmt );
3333
$res_str .= "\nAfter creation of the dateformatter : timezone_id= $timezone_id\n";
3434

35-
foreach( $timezone_id_arr as $timezone_id_entry )
35+
foreach( $timezone_id_arr as $timezone_id_entry => $result )
3636
{
3737

3838
$res_str .= "-----------";
3939
$res_str .= "\nTrying to set timezone_id= $timezone_id_entry";
40-
ut_datefmt_set_timezone_id( $fmt , $timezone_id_entry );
40+
if (ut_datefmt_set_timezone_id( $fmt , $timezone_id_entry ) !== $result) die("ut_datefmt_set_timezone_id failed");
4141
$timezone_id = ut_datefmt_get_timezone_id( $fmt );
4242
$res_str .= "\nAfter call to set_timezone_id : timezone_id= $timezone_id";
4343
$formatted = ut_datefmt_format( $fmt, 0);

0 commit comments

Comments
 (0)