derick          Sun Jul  3 10:36:59 2005 EDT

  Added files:                 
    /php-src/ext/date/tests     bug20382-1.phpt bug21966.phpt bug27719.phpt 
                                mktime-1.phpt mktime-2.phpt 

  Removed files:               
    /php-src/ext/standard/tests/time    003.phpt bug21966.phpt 
                                        bug27719.phpt mktime.phpt 
    /php-src/ext/date/tests     bug20382.phpt 

  Modified files:              
    /php-src/ext/date   php_date.c 
  Log:
  - Move mktime/gmmktime related tests from ext/standard to ext/date.
  
  
http://cvs.php.net/diff.php/php-src/ext/date/php_date.c?r1=1.21&r2=1.22&ty=u
Index: php-src/ext/date/php_date.c
diff -u php-src/ext/date/php_date.c:1.21 php-src/ext/date/php_date.c:1.22
--- php-src/ext/date/php_date.c:1.21    Sun Jul  3 10:27:31 2005
+++ php-src/ext/date/php_date.c Sun Jul  3 10:36:59 2005
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_date.c,v 1.21 2005/07/03 14:27:31 derick Exp $ */
+/* $Id: php_date.c,v 1.22 2005/07/03 14:36:59 derick Exp $ */
 
 #include "php.h"
 #include "php_streams.h"
@@ -470,6 +470,7 @@
                        if (dst == 0 && tmp_offset->is_dst == 1) {
                                adjust_seconds = +3600;
                        }
+                       timelib_time_offset_dtor(tmp_offset);
                }
        }
        /* Clean up and return */

http://cvs.php.net/co.php/php-src/ext/date/tests/bug20382-1.phpt?r=1.1&p=1
Index: php-src/ext/date/tests/bug20382-1.phpt
+++ php-src/ext/date/tests/bug20382-1.phpt
--TEST--
Bug #20382 [1] (strtotime ("Monday", $date) produces wrong result on DST 
changeover)
--FILE--
<?php
        putenv("TZ=Europe/Amsterdam");
        $tStamp = mktime (17, 17, 17, 10, 27, 2004);
        echo "tStamp=". date("l Y-m-d H:i:s T", $tStamp). "\n";
        
        $strtotime_timestamp = strtotime ("Monday", $tStamp);
        echo "result=". date("l Y-m-d H:i:s T", $strtotime_timestamp). "\n";
        echo "wanted=Monday 2004-11-01 00:00:00 CET\n";
?>
--EXPECT--
tStamp=Wednesday 2004-10-27 17:17:17 CEST
result=Monday 2004-11-01 00:00:00 CET
wanted=Monday 2004-11-01 00:00:00 CET

http://cvs.php.net/co.php/php-src/ext/date/tests/bug21966.phpt?r=1.1&p=1
Index: php-src/ext/date/tests/bug21966.phpt
+++ php-src/ext/date/tests/bug21966.phpt
--TEST--
Bug #21966 (date() or mktime() returning bad value for mktime month param of 
'2')
--FILE--
<?php
putenv("TZ=Europe/London");

echo '27/3/04 = ' . strval(mktime(0,0,0,3,27,2004)) . "\n";   // 1080345600
echo '28/3/04 = ' . strval(mktime(0,0,0,3,28,2004)) . "\n";   // -3662  - 
should be 108043200
echo '28/3/04 = ' . strval(mktime(2,0,0,3,28,2004)) . "\n";   // 1080435600
echo '29/3/04 = ' . strval(mktime(0,0,0,3,29,2004)) . "\n";   // 1080514800
echo '30/3/04 = ' . strval(mktime(0,0,0,3,30,2004)) . "\n";   // 1080601200

?>
--EXPECT--
27/3/04 = 1080345600
28/3/04 = 1080432000
28/3/04 = 1080435600
29/3/04 = 1080514800
30/3/04 = 1080601200

http://cvs.php.net/co.php/php-src/ext/date/tests/bug27719.phpt?r=1.1&p=1
Index: php-src/ext/date/tests/bug27719.phpt
+++ php-src/ext/date/tests/bug27719.phpt
--TEST--
Bug #27719 (mktime returns incorrect timestamp for dst days)
--INI--
error_reporting=2047
--FILE--
<?php /* $Id: bug27719.phpt,v 1.1 2005/07/03 14:36:59 derick Exp $ */
        putenv("TZ=EST");  // No DST
        $a = mktime(0, 0, 0, 4, 4, 2004, 0);
        $b = mktime(0, 0, 0, 4, 4, 2004, 1);
        $c = mktime(0, 0, 0, 4, 4, 2004, -1);
        echo "$a ".date("m/d/y h:i:s\n",$a);
        echo "$b ".date("m/d/y h:i:s\n",$b);
        echo "$c ".date("m/d/y h:i:s\n",$c);
        echo "\n";
        putenv("TZ=EST5EDT");  // DST not in effect
        $a = mktime(0, 0, 0, 2, 4, 2004, 0);
        $b = mktime(0, 0, 0, 2, 4, 2004, 1);
        $c = mktime(0, 0, 0, 2, 4, 2004, -1);
        echo "$a ".date("m/d/y h:i:s\n",$a);
        echo "$b ".date("m/d/y h:i:s\n",$b);
        echo "$c ".date("m/d/y h:i:s\n",$c);
        echo "\n";
        putenv("TZ=EST5EDT");  // Just before DST changeover
        $a = mktime(0, 0, 0, 4, 4, 2004, 0);
        $b = mktime(0, 0, 0, 4, 4, 2004, 1);
        $c = mktime(0, 0, 0, 4, 4, 2004, -1);
        echo "$a ".date("m/d/y h:i:s\n",$a);
        echo "$b ".date("m/d/y h:i:s\n",$b);
        echo "$c ".date("m/d/y h:i:s\n",$c);
        echo "\n";
        putenv("TZ=EST5EDT");  // Just after DST changeover
        $a = mktime(3, 0, 0, 4, 4, 2004, 0);
        $b = mktime(3, 0, 0, 4, 4, 2004, 1);
        $c = mktime(3, 0, 0, 4, 4, 2004, -1);
        echo "$a ".date("m/d/y h:i:s\n",$a);
        echo "$b ".date("m/d/y h:i:s\n",$b);
        echo "$c ".date("m/d/y h:i:s\n",$c);
        echo "\n";
        putenv("TZ=EST5EDT");  // DST in effect
        $a = mktime(0, 0, 0, 6, 4, 2004, 0);
        $b = mktime(0, 0, 0, 6, 4, 2004, 1);
        $c = mktime(0, 0, 0, 6, 4, 2004, -1);
        echo "$a ".date("m/d/y h:i:s\n",$a);
        echo "$b ".date("m/d/y h:i:s\n",$b);
        echo "$c ".date("m/d/y h:i:s\n",$c);
        echo "\n";
?>
--EXPECTF--
1081054800 04/04/04 12:00:00
%s
1081054800 04/04/04 12:00:00

1075870800 02/04/04 12:00:00
1075867200 02/03/04 11:00:00
1075870800 02/04/04 12:00:00

1081054800 04/04/04 12:00:00
1081051200 04/03/04 11:00:00
1081054800 04/04/04 12:00:00

1081065600 04/04/04 04:00:00
1081062000 04/04/04 03:00:00
1081062000 04/04/04 03:00:00

1086325200 06/04/04 01:00:00
1086321600 06/04/04 12:00:00
1086321600 06/04/04 12:00:00

http://cvs.php.net/co.php/php-src/ext/date/tests/mktime-1.phpt?r=1.1&p=1
Index: php-src/ext/date/tests/mktime-1.phpt
+++ php-src/ext/date/tests/mktime-1.phpt
--TEST--
Check for mktime with out-of-range parameters
--INI--
error_reporting=2047
--FILE--
<?php 
  # MacOS/X libc implementation doesn't treat out-of-range values
  # the same way other unices do (Bug# 10686) so some extra code
  # was added to datetime.c to take care of this 
        echo date("Y-m-d", mktime( 12, 0, 0, 3,  0, 2000)) ."\n";
        echo date("Y-m-d", mktime( 12, 0, 0, 3, -1, 2000)) ."\n";
        echo date("Y-m-d", mktime( 12, 0, 0, 2, 29, 2000)) ."\n";
        echo date("Y-m-d", mktime( 12, 0, 0, 3,  0, 2001)) ."\n";
        echo date("Y-m-d", mktime( 12, 0, 0, 2, 29, 2001)) ."\n";
        echo date("Y-m-d", mktime( 12, 0, 0, 0,  0, 2000)) ."\n";

  putenv("TZ=Europe/London");
  echo date("Y-m-d H:i:s", mktime(12,0,0,3,+90,2000,-1))."\n";
  echo date("Y-m-d H:i:s", mktime(12,0,0,3,+90,2000,0))."\n";
  echo date("Y-m-d H:i:s", mktime(12,0,0,3,+90,2000,1))."\n";
  echo date("Y-m-d H:i:s", mktime(12,0,0,5,-90,2000,-1))."\n";
  echo date("Y-m-d H:i:s", mktime(12,0,0,5,-90,2000,0))."\n";
  echo date("Y-m-d H:i:s", mktime(12,0,0,5,-90,2000,1))."\n";
  echo date("Y-m-d H:i:s", mktime(12,0,0,5,-1,2000,-1))."\n";
  echo date("Y-m-d H:i:s", mktime(12,0,0,5,-1,2000,0))."\n";
  echo date("Y-m-d H:i:s", mktime(12,0,0,5,-1,2000,1))."\n";
?>
--EXPECT--
2000-02-29
2000-02-28
2000-02-29
2001-02-28
2001-03-01
1999-11-30
2000-05-29 12:00:00
2000-05-29 13:00:00
2000-05-29 12:00:00
2000-01-31 12:00:00
2000-01-31 12:00:00
2000-01-31 11:00:00
2000-04-29 12:00:00
2000-04-29 13:00:00
2000-04-29 12:00:00

http://cvs.php.net/co.php/php-src/ext/date/tests/mktime-2.phpt?r=1.1&p=1
Index: php-src/ext/date/tests/mktime-2.phpt
+++ php-src/ext/date/tests/mktime-2.phpt
--TEST--
mktime()
--INI--
error_reporting=2047
--FILE--
<?php /* $Id: mktime-2.phpt,v 1.1 2005/07/03 14:36:59 derick Exp $ */
$timezones = array(
    'GMT0',
    'Europe/London'
);

foreach($timezones as $timezone)
{
    putenv('TZ='.$timezone);

    /* status of daylight saving time unknown */
    var_dump(mktime(0, 0, 0, 1, 1, 2002));
    /* status of daylight saving time unknown */
    var_dump(mktime(0, 0, 0, 1, 1, 2002, -1));
    /* daylight saving time is not in effect */
    var_dump(mktime(0, 0, 0, 1, 1, 2002, 0));
    /* daylight saving time is in effect */
    var_dump(mktime(0, 0, 0, 1, 1, 2002, 1));

    /* status of daylight saving time unknown */
    var_dump(mktime(0, 0, 0, 7, 1, 2002));
    /* status of daylight saving time unknown */
    var_dump(mktime(0, 0, 0, 7, 1, 2002, -1));
    /* daylight saving time is not in effect */
    var_dump(mktime(0, 0, 0, 7, 1, 2002, 0));
    /* daylight saving time is in effect */
    var_dump(mktime(0, 0, 0, 7, 1, 2002, 1));
}
?>
--EXPECTF--
int(1009843200)
int(1009843200)
int(1009843200)
int(%s)
int(1025481600)
int(1025481600)
int(1025481600)
int(%s)
int(1009843200)
int(1009843200)
int(1009843200)
int(1009839600)
int(1025478000)
int(1025478000)
int(1025481600)
int(1025478000)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to