home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 June / ENTER.ISO / files / xampp-win32-1.4.5-installer.exe / xampp / test_calc.php < prev    next >
Encoding:
PHP Script  |  2004-03-24  |  1.3 KB  |  47 lines

  1. <?php
  2. require_once "Date/Calc.php";
  3.  
  4. /**
  5.  * Test dates from 1970 to 2029
  6.  * Data from: http://www.merlyn.demon.co.uk/wknotest.txt
  7.  * Others usefull datas available from:
  8.  * http://www.merlyn.demon.co.uk/#dat
  9.  */
  10. $failed_test_data   = false;
  11. $wkno   = file('wknotest.txt');
  12. $cnt    = sizeof($wkno);
  13. for( $i=0;$i<$cnt;$i++ ){
  14.     $parts      = explode(':',$wkno[$i]);
  15.     $weeksno[$parts[0]] = str_replace("\n",'',$parts[1]);
  16. }
  17. unset($wkno);
  18. foreach($weeksno as $date=>$iso){
  19.     $year       = substr($date,0,4);
  20.     $month      = substr($date,4,2);
  21.     $day        = substr($date,6);
  22.     $iso9601 = Date_Calc::gregorianToISO($day,$month,$year);
  23.     if($iso9601!=$iso){
  24.         $failed_test_data   = true;
  25.         echo $date . '(' . $iso . ') =>' . $year.'-'.$month.'-'.$day .'=>' . $iso9601 . " : failed\n";
  26.     }
  27. }
  28.  
  29. /**
  30.  * Bugs #19788
  31.  */
  32. $failed_test_19788  = false;
  33. $pass1  = 2==Date_Calc::weekOfYear(5,1,1998)?true:false;
  34. $pass2  = 2==Date_Calc::weekOfYear(6,1,1998)?true:false;
  35. $pass3  = 2==Date_Calc::weekOfYear(5,1,2004)?true:false;
  36. $pass4  = 2==Date_Calc::weekOfYear(6,1,2004)?true:false;
  37. if( !($pass1 && $pass2 && $pass3 && $pass4) ){
  38.     $failed_test_19788   = true;
  39. }
  40.  
  41. if($failed_test_19788 || $failed_test_data){
  42.     echo "Bug #19788: failed\n";
  43. } else {
  44.     echo "Bug #19788: OK\n";
  45. }
  46. ?>
  47.