diff --git a/tests/date_timezone.test b/tests/date_timezone.test index ece620b..9f2905a 100644 --- a/tests/date_timezone.test +++ b/tests/date_timezone.test @@ -16,6 +16,16 @@ public static function getInfo() { ); } + public function setUp() { + parent::setUp(); + // Set the timezone explicitly. Otherwise the site's default timezone is + // used, which defaults to the server timezone when installing Drupal. This + // depends on the environment and is therefore uncertain. + // The Australia/Sydney timezone is chosen so all tests are run using an + // edge case scenario (UTC+10 and DST). + variable_set('date_default_timezone', 'Australia/Sydney'); + } + /** * @todo. */ @@ -182,17 +192,32 @@ public function dateForm($field_name, $field_type, $max_granularity, $tz_handlin case 'hour': $edit[$field_name . '[und][0][value][date]'] = '10/07/2010 - 10'; $edit[$field_name . '[und][0][value2][date]'] = '10/07/2010 - 11'; - $should_be = 'Thu, 10/07/2010 - 10 to Thu, 10/07/2010 - 11'; + if ($tz_handling == 'utc') { + $should_be = 'Thu, 10/07/2010 - 21 to Thu, 10/07/2010 - 22'; + } + else { + $should_be = 'Thu, 10/07/2010 - 10 to Thu, 10/07/2010 - 11'; + } break; case 'minute': $edit[$field_name . '[und][0][value][date]'] = '10/07/2010 - 10:30'; $edit[$field_name . '[und][0][value2][date]'] = '10/07/2010 - 11:30'; - $should_be = 'Thu, 10/07/2010 - 10:30 to 11:30'; + if ($tz_handling == 'utc') { + $should_be = 'Thu, 10/07/2010 - 21:30 to 22:30'; + } + else { + $should_be = 'Thu, 10/07/2010 - 10:30 to 11:30'; + } break; case 'second': $edit[$field_name . '[und][0][value][date]'] = '10/07/2010 - 10:30:30'; $edit[$field_name . '[und][0][value2][date]'] = '10/07/2010 - 11:30:30'; - $should_be = 'Thu, 10/07/2010 - 10:30:30 to 11:30:30'; + if ($tz_handling == 'utc') { + $should_be = 'Thu, 10/07/2010 - 21:30:30 to 22:30:30'; + } + else { + $should_be = 'Thu, 10/07/2010 - 10:30:30 to 11:30:30'; + } break; } $this->drupalPost('node/add/story', $edit, t('Save'));