diff --git a/core/modules/system/config/system.file.yml b/core/modules/system/config/system.file.yml index 16fe7bfc276a448de4caabf6931547e280f5d194..b5be48c9447bc467c88c9c53ef521c2f09089fe0 100644 --- a/core/modules/system/config/system.file.yml +++ b/core/modules/system/config/system.file.yml @@ -5,5 +5,5 @@ chmod: file: '0664' default_scheme: 'public' path: - private: '0' + private: '' temporary: '' diff --git a/core/modules/system/lib/Drupal/system/Tests/File/ConfigTest.php b/core/modules/system/lib/Drupal/system/Tests/File/ConfigTest.php new file mode 100644 index 0000000000000000000000000000000000000000..73143659d625c6633f106a7dfd2ce993955f88db --- /dev/null +++ b/core/modules/system/lib/Drupal/system/Tests/File/ConfigTest.php @@ -0,0 +1,57 @@ +<?php + +/** + * @file + * Definition of Drupal\system\Tests\File\ConfigTest. + */ + +namespace Drupal\system\Tests\File; + +/** + * File system configuration related tests. + */ +class ConfigTest extends FileTestBase { + + public static function getInfo() { + return array( + 'name' => 'File system configuration test', + 'description' => 'Tests file system configuration operations', + 'group' => 'File API', + ); + } + + function setUp(){ + parent::setUp(); + $this->web_user = $this->drupalCreateUser(array('administer site configuration')); + $this->drupalLogin($this->web_user); + } + + /** + * Tests file configuration page. + */ + function testFileConfigurationPage() { + $this->drupalGet('admin/config/media/file-system'); + + // Set the file paths to non-default values. + // The respective directories are created automatically + // upon form submission. + $file_path = $this->public_files_directory; + $fields = array( + 'file_public_path' => $file_path . '/file_config_page_test/public', + 'file_private_path' => $file_path . '/file_config_page_test/private', + 'file_temporary_path' => $file_path . '/file_config_page_test/temporary', + 'file_default_scheme' => 'private', + ); + + // Check that all fields are present. + foreach ($fields as $field => $path) { + $this->assertFieldByName($field); + } + + $this->drupalPost(NULL, $fields, t('Save configuration')); + $this->assertText(t('The configuration options have been saved.')); + foreach ($fields as $field => $value) { + $this->assertFieldByName($field, $value); + } + } +} diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc index 6583d5743d3b950018a240cc398176b213da96f0..b483e7e2adaa3df1a69311a386170fa5026685b8 100644 --- a/core/modules/system/system.admin.inc +++ b/core/modules/system/system.admin.inc @@ -1749,7 +1749,7 @@ function system_clear_page_cache_submit($form, &$form_state) { * @ingroup forms * @see system_settings_form_sumbit() */ -function system_file_system_settings() { +function system_file_system_settings($form, $form_state) { $config = config('system.file'); $form['file_public_path'] = array( '#type' => 'textfield',