1.20.x date_timezone.test public DateTimezoneTestCase::dateForm($field_name, $field_type, $max_granularity, $tz_handling)

Utility function to validate the node form displays date fields correctly.

File

modules/date/tests/date_timezone.test, line 154
Timezone tests.

Class

DateTimezoneTestCase

Code

public function dateForm($field_name, $field_type, $max_granularity, $tz_handling) {
  $format = system_date_format_load('long');
  $format['pattern'] = 'D, m/d/Y - H:i:s';
  system_date_format_save($format);
  $edit = array();
  $edit['title'] = $this->randomName(8);
  $edit[$field_name . '[und][0][show_todate]'] = '1';
  switch ($max_granularity) {
    case 'year':
      $edit[$field_name . '[und][0][value][date]'] = '2010';
      $edit[$field_name . '[und][0][value2][date]'] = '2011';
      $should_be = '2010 to 2011';
      break;
    case 'month':
      $edit[$field_name . '[und][0][value][date]'] = '07/2010';
      $edit[$field_name . '[und][0][value2][date]'] = '08/2010';
      $should_be = '07/2010 to 08/2010';
      break;
    case 'day':
      $edit[$field_name . '[und][0][value][date]'] = '10/07/2010';
      $edit[$field_name . '[und][0][value2][date]'] = '10/08/2010';
      $should_be = 'Thu, 10/07/2010 to Fri, 10/08/2010';
      break;
    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';
      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';
      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';
      break;
  }
  $this->backdropPost('node/add/story', $edit, t('Save'));
  $this->assertText($edit['title'], "Node has been created");
  $this->assertText($should_be, "Found the correct date for a $field_type field using $max_granularity granularity with $tz_handling timezone handling.");
}