Fixed bug #61610 Test ext\date\tests\date_default_timezone_get-1.diff fails
authorAnatoliy Belsky <ab@php.net>
Tue, 10 Apr 2012 09:03:41 +0000 (11:03 +0200)
committerAnatoliy Belsky <ab@php.net>
Tue, 10 Apr 2012 09:03:41 +0000 (11:03 +0200)
The behaviour on windows is to select an arbitrary timezone from the current system settings.
This gives no chance to hardcode the timezone name, for instance for UTC+1 it could choose
from the multiple names like Europe/Berlin or Europe/Paris . For this reason the test is
parametrized so there is no hardcoded timezone data.

The original test made to be skipped on windows and a duplicate was made for windows.

ext/date/tests/date_default_timezone_get-1-win32.phpt [new file with mode: 0644]
ext/date/tests/date_default_timezone_get-1.phpt

diff --git a/ext/date/tests/date_default_timezone_get-1-win32.phpt b/ext/date/tests/date_default_timezone_get-1-win32.phpt
new file mode 100644 (file)
index 0000000..a12418f
--- /dev/null
@@ -0,0 +1,24 @@
+--TEST--
+date_default_timezone_get() function [1]
+--SKIPIF--
+<?php
+       if(substr(PHP_OS, 0, 3) != 'WIN') die("skip skip on non windows");
+?>
+--INI--
+date.timezone=
+--FILE--
+<?php
+       putenv('TZ=');
+       echo date_default_timezone_get(), "\n";
+       echo date('e'), "\n";
+       /* The behaviour on windows is to select an arbitrary timezone name from the current system settings.
+          This gives no chance to hardcode the timezone name, for instance for UTC+1 it could choose
+          from the multiple names like Europe/Berlin or Europe/Paris . For this reason the test is
+          parametrized so there is no hardcoded timezone data.*/
+?>
+--EXPECTF--
+Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected '%s' for '%s' instead in %sdate_default_timezone_get-1-win32.php on line 3
+%s
+
+Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected '%s' for '%s' instead in %sdate_default_timezone_get-1-win32.php on line 4
+%s
index 383394a955a73cc23f47ba780ad1b88314e56a1a..5d17a25caf09b7bb83a2abcc95eb64f61ae3abf8 100644 (file)
@@ -1,5 +1,9 @@
 --TEST--
 date_default_timezone_get() function [1]
+--SKIPIF--
+<?php
+       if(substr(PHP_OS, 0, 3) == 'WIN') die("skip on windows");
+?>
 --INI--
 date.timezone=
 --FILE--