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
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.");
}