diff options
Diffstat (limited to 'modules/upload')
-rw-r--r-- | modules/upload/upload.module | 4 | ||||
-rw-r--r-- | modules/upload/upload.test | 10 |
2 files changed, 10 insertions, 4 deletions
diff --git a/modules/upload/upload.module b/modules/upload/upload.module index f5b42c20e..de58b36cc 100644 --- a/modules/upload/upload.module +++ b/modules/upload/upload.module @@ -156,8 +156,8 @@ function upload_file_download($filepath) { if ($file && user_access('view uploaded files') && ($node = node_load($file->nid)) && node_access('view', $node)) { return array( - 'Content-Type: ' . $file->filemime, - 'Content-Length: ' . $file->filesize, + 'Content-Type' => $file->filemime, + 'Content-Length' => $file->filesize, ); } else { diff --git a/modules/upload/upload.test b/modules/upload/upload.test index 141b10adf..1fabe2c62 100644 --- a/modules/upload/upload.test +++ b/modules/upload/upload.test @@ -51,6 +51,11 @@ class UploadTestCase extends DrupalWebTestCase { $this->checkUploadedFile(basename($files[0])); $this->checkUploadedFile(basename($files[1])); + // Check that files are also accessible when using private files. + variable_set('file_downloads', FILE_DOWNLOADS_PRIVATE); + $this->checkUploadedFile(basename($files[0])); + $this->checkUploadedFile(basename($files[1])); + // Assure that the attachment link appears on teaser view and has correct count. $node = node_load($node->nid); $teaser = drupal_render(node_build($node, TRUE)); @@ -195,9 +200,10 @@ class UploadTestCase extends DrupalWebTestCase { */ function checkUploadedFile($filename) { global $base_url; - $file = realpath(file_directory_path() . '/' . $filename); - $this->drupalGet($base_url . '/' . file_directory_path() . '/' . $filename, array('external' => TRUE)); + $file = file_directory_path() . '/' . $filename; + $this->drupalGet(file_create_url($file), array('external' => TRUE)); $this->assertResponse(array(200), 'Uploaded ' . $filename . ' is accessible.'); + $this->assertTrue(strpos($this->drupalGetHeader('Content-Type'), 'text/plain') === 0, t('MIME type is text/plain.')); $this->assertEqual(file_get_contents($file), $this->drupalGetContent(), 'Uploaded contents of ' . $filename . ' verified.'); // Verify file actually is readable and writeable by PHP. $this->assertTrue(is_readable($file), t('Uploaded file is readable.')); |