1.20.x list.test | ListFieldDisplayTestCase::testListDisplayFormatterBoolean() |
List (boolen) : test 'On/Off' values input.
File
- modules/
field/ modules/ list/ tests/ list.test, line 485 - Tests for list.module.
Class
- ListFieldDisplayTestCase
- Tests that formatters are working properly.
Code
function testListDisplayFormatterBoolean() {
$this->field_name = 'field_list_boolean';
$this->createListField('list_boolean');
$on = $this->randomName();
$off = $this->randomName();
$allowed_values = array(1 => $on, 0 => $off);
$edit = array(
'on' => $on,
'off' => $off,
);
$this->backdropPost($this->admin_path, $edit, t('Save settings'));
$this->assertText("Saved field_list_boolean configuration.", "The 'On' and 'Off' form fields work for boolean fields.");
$settings = array(
'type' => $this->type,
$this->field_name => array(LANGUAGE_NONE => array(array('value' => 1))),
);
$node = $this->backdropCreateNode($settings);
// Test display on/off values set by user
$edit = array(
"fields[{$this->field_name}][type]" => 'list_default',
);
$this->backdropPost("admin/structure/types/manage/{$this->type}/display/default", $edit, t('Save'));
$this->backdropGet('node/' . $node->nid);
$this->assertText($on, format_string('On value is present.'));
// Test Yes/No output format.
$instance_info = field_info_instance('node', $this->field_name, $this->type);
$instance_info['display']['default']['type'] = 'boolean_yes_no';
field_update_instance($instance_info);
$this->backdropGet('node/' . $node->nid);
$this->assertText(t('Yes'), format_string('On value is present.'));
// Enable the default setting to use custom on/off text.
$instance_info = field_info_instance('node', $this->field_name, $this->type);
$instance_info['display']['default']['type'] = 'boolean_yes_no';
$instance_info['display']['default']['settings']['format'] = 'custom';
$on = $this->randomName();
$off = $this->randomName();
$instance_info['display']['default']['settings']['custom_on'] = $on;
$instance_info['display']['default']['settings']['custom_off'] = $off;
field_update_instance($instance_info);
$this->backdropGet('node/' . $node->nid);
$this->assertText($on, format_string('Custom on value is present.'));
// Enable the default setting to use custom reverse on/off text.
$instance_info = field_info_instance('node', $this->field_name, $this->type);
$instance_info['display']['default']['settings']['reverse'] = TRUE;
field_update_instance($instance_info);
$this->backdropGet('node/' . $node->nid);
$this->assertText($off, format_string('Custom reversed on value is present.'));
}