summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/file/file.field.inc2
-rw-r--r--modules/file/tests/file.test28
2 files changed, 29 insertions, 1 deletions
diff --git a/modules/file/file.field.inc b/modules/file/file.field.inc
index 794f16e67..d592381bd 100644
--- a/modules/file/file.field.inc
+++ b/modules/file/file.field.inc
@@ -632,7 +632,7 @@ function file_field_widget_process($element, &$form_state, $form) {
$element['#theme'] = 'file_widget';
// Add the display field if enabled.
- if (!empty($field['settings']['display_field']) && $item['fid']) {
+ if (!empty($field['settings']['display_field'])) {
$element['display'] = array(
'#type' => empty($item['fid']) ? 'hidden' : 'checkbox',
'#title' => t('Include file in display'),
diff --git a/modules/file/tests/file.test b/modules/file/tests/file.test
index 5c19d001f..80433954b 100644
--- a/modules/file/tests/file.test
+++ b/modules/file/tests/file.test
@@ -951,6 +951,34 @@ class FileFieldDisplayTestCase extends FileFieldTestCase {
$this->assertRaw($field_name . '[' . LANGUAGE_NONE . '][0][display]', 'First file appears as expected.');
$this->assertRaw($field_name . '[' . LANGUAGE_NONE . '][1][display]', 'Second file appears as expected.');
}
+
+ /**
+ * Tests default display of File Field.
+ */
+ function testDefaultFileFieldDisplay() {
+ $field_name = strtolower($this->randomName());
+ $type_name = 'article';
+ $field_settings = array(
+ 'display_field' => '1',
+ 'display_default' => '0',
+ );
+ $instance_settings = array(
+ 'description_field' => '1',
+ );
+ $widget_settings = array();
+ $this->createFileField($field_name, $type_name, $field_settings, $instance_settings, $widget_settings);
+ $field = field_info_field($field_name);
+ $instance = field_info_instance('node', $field_name, $type_name);
+
+ $test_file = $this->getTestFile('text');
+
+ // Create a new node with the uploaded file.
+ $nid = $this->uploadNodeFile($test_file, $field_name, $type_name);
+
+ $this->drupalGet('node/' . $nid . '/edit');
+ $this->assertFieldByXPath('//input[@type="checkbox" and @name="' . $field_name . '[und][0][display]"]', NULL, 'Default file display checkbox field exists.');
+ $this->assertFieldByXPath('//input[@type="checkbox" and @name="' . $field_name . '[und][0][display]" and not(@checked)]', NULL, 'Default file display is off.');
+ }
}
/**