summaryrefslogtreecommitdiff
path: root/modules/file/tests/file.test
diff options
context:
space:
mode:
Diffstat (limited to 'modules/file/tests/file.test')
-rw-r--r--modules/file/tests/file.test15
1 files changed, 14 insertions, 1 deletions
diff --git a/modules/file/tests/file.test b/modules/file/tests/file.test
index ee02d38c1..1b5fdf5cd 100644
--- a/modules/file/tests/file.test
+++ b/modules/file/tests/file.test
@@ -1123,7 +1123,7 @@ class FilePrivateTestCase extends FileFieldTestCase {
}
function setUp() {
- parent::setUp('node_access_test');
+ parent::setUp(array('node_access_test', 'field_test'));
node_access_rebuild();
variable_set('node_access_test_private', TRUE);
}
@@ -1140,6 +1140,10 @@ class FilePrivateTestCase extends FileFieldTestCase {
$field_name = strtolower($this->randomName());
$this->createFileField($field_name, $type_name, array('uri_scheme' => 'private'));
+ // Create a field with no view access - see field_test_field_access().
+ $no_access_field_name = 'field_no_view_access';
+ $this->createFileField($no_access_field_name, $type_name, array('uri_scheme' => 'private'));
+
$test_file = $this->getTestFile('text');
$nid = $this->uploadNodeFile($test_file, $field_name, $type_name, TRUE, array('private' => TRUE));
$node = node_load($nid, NULL, TRUE);
@@ -1150,5 +1154,14 @@ class FilePrivateTestCase extends FileFieldTestCase {
$this->drupalLogOut();
$this->drupalGet(file_create_url($node_file->uri));
$this->assertResponse(403, t('Confirmed that access is denied for the file without the needed permission.'));
+
+ // Test with the field that should deny access through field access.
+ $this->drupalLogin($this->admin_user);
+ $nid = $this->uploadNodeFile($test_file, $no_access_field_name, $type_name, TRUE, array('private' => TRUE));
+ $node = node_load($nid, NULL, TRUE);
+ $node_file = (object) $node->{$no_access_field_name}[LANGUAGE_NONE][0];
+ // Ensure the file cannot be downloaded.
+ $this->drupalGet(file_create_url($node_file->uri));
+ $this->assertResponse(403, t('Confirmed that access is denied for the file without view field access permission.'));
}
}