Error message
You are browsing documentation for drupal 7.x, which is not supported anymore. Read the updated version of this page for drupal 11.x (the latest version).function DateTimeFunctionalTest::testDateFormatConfiguration
Test date format configuration.
File
-
modules/
system/ system.test, line 1407
Class
- DateTimeFunctionalTest
- Tests generic date and time handling capabilities of Drupal.
Code
function testDateFormatConfiguration() {
// Confirm 'no custom date formats available' message appears.
$this->drupalGet ('admin/config/regional/date-time/formats');
$this->assertText (t ('No custom date formats available.'), 'No custom date formats message appears.');
// Add custom date format.
$this->clickLink (t ('Add format'));
$edit = array(
'date_format' => 'Y',
);
$this->drupalPost ('admin/config/regional/date-time/formats/add', $edit, t ('Add format'));
$this->assertEqual ($this->getUrl (), url ('admin/config/regional/date-time/formats', array(
'absolute' => TRUE,
)), 'Correct page redirection.');
$this->assertNoText (t ('No custom date formats available.'), 'No custom date formats message does not appear.');
$this->assertText (t ('Custom date format added.'), 'Custom date format added.');
// Ensure custom date format appears in date type configuration options.
$this->drupalGet ('admin/config/regional/date-time');
$this->assertRaw ('<option value="Y">', 'Custom date format appears in options.');
// Edit custom date format.
$this->drupalGet ('admin/config/regional/date-time/formats');
$this->clickLink (t ('edit'));
$edit = array(
'date_format' => 'Y m',
);
$this->drupalPost ($this->getUrl (), $edit, t ('Save format'));
$this->assertEqual ($this->getUrl (), url ('admin/config/regional/date-time/formats', array(
'absolute' => TRUE,
)), 'Correct page redirection.');
$this->assertText (t ('Custom date format updated.'), 'Custom date format successfully updated.');
// Check that ajax callback is protected by CSRF token.
$this->drupalGet ('admin/config/regional/date-time/formats/lookup', array(
'query' => array(
'format' => 'Y m d',
),
));
$this->assertResponse (403, 'Access denied with no token');
$this->drupalGet ('admin/config/regional/date-time/formats/lookup', array(
'query' => array(
'token' => 'invalid',
'format' => 'Y m d',
),
));
$this->assertResponse (403, 'Access denied with invalid token');
$this->drupalGet ('admin/config/regional/date-time/formats');
$this->clickLink (t ('edit'));
$settings = $this->drupalGetSettings ();
$lookup_url = $settings['dateTime']['date-format']['lookup'];
preg_match ('/token=([^&]+)/', $lookup_url, $matches);
$this->assertFalse (empty($matches[1]), 'Found token value');
$this->drupalGet ('admin/config/regional/date-time/formats/lookup', array(
'query' => array(
'token' => $matches[1],
'format' => 'Y m d',
),
));
$this->assertResponse (200, 'Access allowed with valid token');
$this->assertText (format_date (time (), 'custom', 'Y m d'));
// Delete custom date format.
$this->drupalGet ('admin/config/regional/date-time/formats');
$this->clickLink (t ('delete'));
$this->drupalPost ($this->getUrl (), array(), t ('Remove'));
$this->assertEqual ($this->getUrl (), url ('admin/config/regional/date-time/formats', array(
'absolute' => TRUE,
)), 'Correct page redirection.');
$this->assertText (t ('Removed date format'), 'Custom date format removed successfully.');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.