function FormExampleTestCase::testElementExample
Test the element_example form for correct behavior.
File
-
form_example/
form_example.test, line 262
Class
- FormExampleTestCase
- Default test case for the form_example module.
Code
public function testElementExample() {
// Make one basic POST with a set of values and check for correct responses.
$edit = array(
'a_form_example_textfield' => $this->randomName(),
'a_form_example_checkbox' => TRUE,
'a_form_example_element_discrete[areacode]' => sprintf('%03d', rand(0, 999)),
'a_form_example_element_discrete[prefix]' => sprintf('%03d', rand(0, 999)),
'a_form_example_element_discrete[extension]' => sprintf('%04d', rand(0, 9999)),
'a_form_example_element_combined[areacode]' => sprintf('%03d', rand(0, 999)),
'a_form_example_element_combined[prefix]' => sprintf('%03d', rand(0, 999)),
'a_form_example_element_combined[extension]' => sprintf('%04d', rand(0, 9999)),
);
$this->drupalPost('examples/form_example/element_example', $edit, t('Submit'));
$this->assertText(t('a_form_example_textfield has value @value', array(
'@value' => $edit['a_form_example_textfield'],
)));
$this->assertText(t('a_form_example_checkbox has value 1'));
$this->assertPattern(t('/areacode.*!areacode/', array(
'!areacode' => $edit['a_form_example_element_discrete[areacode]'],
)));
$this->assertPattern(t('/prefix.*!prefix/', array(
'!prefix' => $edit['a_form_example_element_discrete[prefix]'],
)));
$this->assertPattern(t('/extension.*!extension/', array(
'!extension' => $edit['a_form_example_element_discrete[extension]'],
)));
$this->assertText(t('a_form_example_element_combined has value @value', array(
'@value' => $edit['a_form_example_element_combined[areacode]'] . $edit['a_form_example_element_combined[prefix]'] . $edit['a_form_example_element_combined[extension]'],
)));
// Now flip the checkbox and check for correct behavior.
$edit['a_form_example_checkbox'] = FALSE;
$this->drupalPost('examples/form_example/element_example', $edit, t('Submit'));
$this->assertText(t('a_form_example_checkbox has value 0'));
}