protected function RangeFieldWidgetTestCase::_testRangeFieldWidget in Range 7
Helper method. Tests range field widget for a given range field type.
Parameters
string $field_type: Range field type. Possible values:
- range_decimal
- range_float
- range_integer
1 call to RangeFieldWidgetTestCase::_testRangeFieldWidget()
- RangeFieldWidgetTestCase::testRangeFieldWidget in tests/
range.field_widget.test - Tests range field widget.
File
- tests/
range.field_widget.test, line 44 - Contains range field widget tests.
Class
- RangeFieldWidgetTestCase
- Tests range field widget.
Code
protected function _testRangeFieldWidget($field_type) {
$this
->createTestRangeField($field_type);
$field_name = $this
->getTestFieldName($field_type);
$form_element_key = $field_name . '[' . LANGUAGE_NONE . '][0]';
$edit = array(
'title' => $this
->randomString(),
"{$form_element_key}[from]" => static::INSTANCE_SETTINGS_MIN,
"{$form_element_key}[to]" => static::INSTANCE_SETTINGS_MAX,
);
$this
->drupalPost("node/add/{$this->contentType}", $edit, t('Save'));
$formatted_field_value_array = array(
static::INSTANCE_SETTINGS_FIELD_PREFIX,
static::INSTANCE_SETTINGS_FROM_PREFIX,
number_format(static::INSTANCE_SETTINGS_MIN, $field_type === 'range_integer' ? 0 : 2),
static::INSTANCE_SETTINGS_FROM_SUFFIX,
'-',
static::INSTANCE_SETTINGS_TO_PREFIX,
number_format(static::INSTANCE_SETTINGS_MAX, $field_type === 'range_integer' ? 0 : 2),
static::INSTANCE_SETTINGS_TO_SUFFIX,
static::INSTANCE_SETTINGS_FIELD_SUFFIX,
);
$formatted_field_value = implode('', $formatted_field_value_array);
$this
->assertText($formatted_field_value, format_string('Correct formatted range field value %value found on the page', array(
'%value' => $formatted_field_value,
)));
// Test that FIELD, FROM and TO prefixes/suffixes are being displayed
// correctly.
//
// FROM and TO labels, FIELD, FROM AND TO prefixes/suffixes are present.
$this
->drupalGet("node/add/{$this->contentType}");
$label = static::INSTANCE_SETTINGS_FROM_LABEL;
$this
->assertFieldLabel($label, format_string('Correct field label %label found on the page', array(
'%label' => $label,
)));
$label = static::INSTANCE_SETTINGS_TO_LABEL;
$this
->assertFieldLabel($label, format_string('Correct field label %label found on the page', array(
'%label' => $label,
)));
$prefix = static::INSTANCE_SETTINGS_FIELD_PREFIX . static::INSTANCE_SETTINGS_FROM_PREFIX;
$this
->assertFieldPrefix($prefix, format_string('Correct field prefix %prefix found on the page', array(
'%prefix' => $prefix,
)));
$suffix = static::INSTANCE_SETTINGS_FROM_SUFFIX;
$this
->assertFieldSuffix($suffix, format_string('Correct field suffix %suffix found on the page', array(
'%suffix' => $suffix,
)));
$prefix = static::INSTANCE_SETTINGS_TO_PREFIX;
$this
->assertFieldPrefix($prefix, format_string('Correct field prefix %prefix found on the page', array(
'%prefix' => $prefix,
)));
$suffix = static::INSTANCE_SETTINGS_TO_SUFFIX . static::INSTANCE_SETTINGS_FIELD_SUFFIX;
$this
->assertFieldSuffix($suffix, format_string('Correct field suffix %suffix found on the page', array(
'%suffix' => $suffix,
)));
// No FROM and TO labels, no prefixes/suffixes.
$settings = array(
'from' => array(
'label' => '',
'prefix' => '',
'suffix' => '',
),
'to' => array(
'label' => '',
'prefix' => '',
'suffix' => '',
),
'field' => array(
'prefix' => '',
'suffix' => '',
),
);
$this->instance['settings'] = $settings + $this->instance['settings'];
field_update_instance($this->instance);
$this
->drupalGet("node/add/{$this->contentType}");
$label = static::INSTANCE_SETTINGS_FROM_LABEL;
$this
->assertNoFieldLabel($label, format_string('Field label %label not found on the page', array(
'%label' => $label,
)));
$label = static::INSTANCE_SETTINGS_TO_LABEL;
$this
->assertNoFieldLabel($label, format_string('Field label %label not found on the page', array(
'%label' => $label,
)));
$prefix = static::INSTANCE_SETTINGS_FIELD_PREFIX . static::INSTANCE_SETTINGS_FROM_PREFIX;
$this
->assertNoFieldPrefix($prefix, format_string('Field prefix %prefix not found on the page', array(
'%prefix' => $prefix,
)));
$suffix = static::INSTANCE_SETTINGS_FROM_SUFFIX;
$this
->assertNoFieldSuffix($suffix, format_string('Field suffix %suffix not found on the page', array(
'%suffix' => $suffix,
)));
$prefix = static::INSTANCE_SETTINGS_TO_PREFIX;
$this
->assertNoFieldPrefix($prefix, format_string('Field prefix %prefix not found on the page', array(
'%prefix' => $prefix,
)));
$suffix = static::INSTANCE_SETTINGS_TO_SUFFIX . static::INSTANCE_SETTINGS_FIELD_SUFFIX;
$this
->assertNoFieldSuffix($suffix, format_string('Field suffix %suffix not found on the page', array(
'%suffix' => $suffix,
)));
// FIELD prefix/suffix only.
$settings = array(
'field' => array(
'prefix' => static::INSTANCE_SETTINGS_FIELD_PREFIX,
'suffix' => static::INSTANCE_SETTINGS_FIELD_SUFFIX,
),
);
$this->instance['settings'] = $settings + $this->instance['settings'];
field_update_instance($this->instance);
$this
->drupalGet("node/add/{$this->contentType}");
$prefix = static::INSTANCE_SETTINGS_FIELD_PREFIX;
$this
->assertFieldPrefix($prefix, format_string('Correct field prefix %prefix found on the page', array(
'%prefix' => $prefix,
)));
$suffix = static::INSTANCE_SETTINGS_FROM_SUFFIX;
$this
->assertNoFieldSuffix($suffix, format_string('Field suffix %suffix not found on the page', array(
'%suffix' => $suffix,
)));
$prefix = static::INSTANCE_SETTINGS_TO_PREFIX;
$this
->assertNoFieldPrefix($prefix, format_string('Field prefix %prefix not found on the page', array(
'%prefix' => $prefix,
)));
$suffix = static::INSTANCE_SETTINGS_FIELD_SUFFIX;
$this
->assertFieldSuffix($suffix, format_string('Correct field suffix %suffix found on the page', array(
'%suffix' => $suffix,
)));
// FROM.and TO prefixes/suffixes only.
$settings = array(
'from' => array(
'label' => '',
'prefix' => static::INSTANCE_SETTINGS_FROM_PREFIX,
'suffix' => static::INSTANCE_SETTINGS_FROM_SUFFIX,
),
'to' => array(
'label' => '',
'prefix' => static::INSTANCE_SETTINGS_TO_PREFIX,
'suffix' => static::INSTANCE_SETTINGS_TO_SUFFIX,
),
'field' => array(
'prefix' => '',
'suffix' => '',
),
);
$this->instance['settings'] = $settings + $this->instance['settings'];
field_update_instance($this->instance);
$this
->drupalGet("node/add/{$this->contentType}");
$prefix = static::INSTANCE_SETTINGS_FROM_PREFIX;
$this
->assertFieldPrefix($prefix, format_string('Correct field prefix %prefix found on the page', array(
'%prefix' => $prefix,
)));
$suffix = static::INSTANCE_SETTINGS_FROM_SUFFIX;
$this
->assertFieldSuffix($suffix, format_string('Correct field suffix %suffix found on the page', array(
'%suffix' => $suffix,
)));
$prefix = static::INSTANCE_SETTINGS_TO_PREFIX;
$this
->assertFieldPrefix($prefix, format_string('Correct field prefix %prefix found on the page', array(
'%prefix' => $prefix,
)));
$suffix = static::INSTANCE_SETTINGS_TO_SUFFIX;
$this
->assertFieldSuffix($suffix, format_string('Correct field suffix %suffix found on the page', array(
'%suffix' => $suffix,
)));
$this
->deleteTestRangeField($field_type);
}