calendar_get_setSkippedWallTimeOption_basic.phpt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. --TEST--
  2. IntlCalendar::get/setSkippedWallTimeOption(): basic test
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded('intl'))
  6. die('skip intl extension not enabled');
  7. if (version_compare(INTL_ICU_VERSION, '49') < 0)
  8. die('skip for ICU 49+');
  9. --FILE--
  10. <?php
  11. ini_set("intl.error_level", E_WARNING);
  12. ini_set("intl.default_locale", "nl");
  13. date_default_timezone_set('Europe/Amsterdam');
  14. //25 March 2012, transition to DST
  15. $intlcal = new IntlGregorianCalendar(2012, 2, 25, 0, 0, 0);
  16. var_dump($intlcal->getSkippedWallTimeOption());
  17. $intlcal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 2);
  18. $intlcal->set(IntlCalendar::FIELD_MINUTE, 30);
  19. echo "Should be 3h30\n";
  20. var_dump(
  21. $intlcal->get(IntlCalendar::FIELD_HOUR_OF_DAY),
  22. $intlcal->get(IntlCalendar::FIELD_MINUTE)
  23. );
  24. var_dump($intlcal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_FIRST));
  25. var_dump(intlcal_get_skipped_wall_time_option($intlcal));
  26. $intlcal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 2);
  27. $intlcal->set(IntlCalendar::FIELD_MINUTE, 30);
  28. echo "Should be 1h30\n";
  29. var_dump(
  30. $intlcal->get(IntlCalendar::FIELD_HOUR_OF_DAY),
  31. $intlcal->get(IntlCalendar::FIELD_MINUTE)
  32. );
  33. var_dump(intlcal_set_skipped_wall_time_option($intlcal, IntlCalendar::WALLTIME_NEXT_VALID));
  34. var_dump($intlcal->getSkippedWallTimeOption());
  35. $intlcal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 2);
  36. $intlcal->set(IntlCalendar::FIELD_MINUTE, 30);
  37. echo "Should be 3h00\n";
  38. var_dump(
  39. $intlcal->get(IntlCalendar::FIELD_HOUR_OF_DAY),
  40. $intlcal->get(IntlCalendar::FIELD_MINUTE)
  41. );
  42. ?>
  43. ==DONE==
  44. --EXPECT--
  45. int(0)
  46. Should be 3h30
  47. int(3)
  48. int(30)
  49. bool(true)
  50. int(1)
  51. Should be 1h30
  52. int(1)
  53. int(30)
  54. bool(true)
  55. int(2)
  56. Should be 3h00
  57. int(3)
  58. int(0)
  59. ==DONE==