diff options
Diffstat (limited to 'modules/file/tests')
-rw-r--r-- | modules/file/tests/file.test | 80 | ||||
-rw-r--r-- | modules/file/tests/file_module_test.module | 5 |
2 files changed, 52 insertions, 33 deletions
diff --git a/modules/file/tests/file.test b/modules/file/tests/file.test index 324faffc4..1b5fdf5cd 100644 --- a/modules/file/tests/file.test +++ b/modules/file/tests/file.test @@ -6,7 +6,7 @@ */ /** - * This class provides methods specifically for testing File's field handling. + * Provides methods specifically for testing File module's field handling. */ class FileFieldTestCase extends DrupalWebTestCase { protected $admin_user; @@ -27,7 +27,7 @@ class FileFieldTestCase extends DrupalWebTestCase { } /** - * Get a sample file of the specified type. + * Retrieves a sample file of the specified type. */ function getTestFile($type_name, $size = NULL) { // Get a file to upload. @@ -40,14 +40,14 @@ class FileFieldTestCase extends DrupalWebTestCase { } /** - * Get the fid of the last inserted file. + * Retrieves the fid of the last inserted file. */ function getLastFileId() { return (int) db_query('SELECT MAX(fid) FROM {file_managed}')->fetchField(); } /** - * Create a new file field. + * Creates a new file field. * * @param $name * The name of the new field (all lowercase), exclude the "field_" prefix. @@ -74,7 +74,7 @@ class FileFieldTestCase extends DrupalWebTestCase { } /** - * Attach a file field to an entity. + * Attaches a file field to an entity. * * @param $name * The name of the new field (all lowercase), exclude the "field_" prefix. @@ -108,7 +108,7 @@ class FileFieldTestCase extends DrupalWebTestCase { } /** - * Update an existing file field with new settings. + * Updates an existing file field with new settings. */ function updateFileField($name, $type_name, $instance_settings = array(), $widget_settings = array()) { $instance = field_info_instance('node', $name, $type_name); @@ -119,7 +119,7 @@ class FileFieldTestCase extends DrupalWebTestCase { } /** - * Upload a file to a node. + * Uploads a file to a node. */ function uploadNodeFile($file, $field_name, $nid_or_type, $new_revision = TRUE, $extras = array()) { $langcode = LANGUAGE_NONE; @@ -150,7 +150,7 @@ class FileFieldTestCase extends DrupalWebTestCase { } /** - * Remove a file from a node. + * Removes a file from a node. * * Note that if replacing a file, it must first be removed then added again. */ @@ -164,7 +164,7 @@ class FileFieldTestCase extends DrupalWebTestCase { } /** - * Replace a file within a node. + * Replaces a file within a node. */ function replaceNodeFile($file, $field_name, $nid, $new_revision = TRUE) { $edit = array( @@ -177,7 +177,7 @@ class FileFieldTestCase extends DrupalWebTestCase { } /** - * Assert that a file exists physically on disk. + * Asserts that a file exists physically on disk. */ function assertFileExists($file, $message = NULL) { $message = isset($message) ? $message : t('File %file exists on the disk.', array('%file' => $file->uri)); @@ -185,7 +185,7 @@ class FileFieldTestCase extends DrupalWebTestCase { } /** - * Assert that a file exists in the database. + * Asserts that a file exists in the database. */ function assertFileEntryExists($file, $message = NULL) { entity_get_controller('file')->resetCache(); @@ -195,7 +195,7 @@ class FileFieldTestCase extends DrupalWebTestCase { } /** - * Assert that a file does not exist on disk. + * Asserts that a file does not exist on disk. */ function assertFileNotExists($file, $message = NULL) { $message = isset($message) ? $message : t('File %file exists on the disk.', array('%file' => $file->uri)); @@ -203,7 +203,7 @@ class FileFieldTestCase extends DrupalWebTestCase { } /** - * Assert that a file does not exist in the database. + * Asserts that a file does not exist in the database. */ function assertFileEntryNotExists($file, $message) { entity_get_controller('file')->resetCache(); @@ -212,7 +212,7 @@ class FileFieldTestCase extends DrupalWebTestCase { } /** - * Assert that a file's status is set to permanent in the database. + * Asserts that a file's status is set to permanent in the database. */ function assertFileIsPermanent($file, $message = NULL) { $message = isset($message) ? $message : t('File %file is permanent.', array('%file' => $file->uri)); @@ -221,7 +221,7 @@ class FileFieldTestCase extends DrupalWebTestCase { } /** - * Test class for testing the 'managed_file' element type on its own, not as part of a file field. + * Tests the 'managed_file' element type. * * @todo Create a FileTestCase base class and move FileFieldTestCase methods * that aren't related to fields into it. @@ -311,7 +311,7 @@ class FileManagedFileElementTestCase extends FileFieldTestCase { } /** - * Test class to test file field widget, single and multi-valued, with and without Ajax, with public and private files. + * Tests file field widget. */ class FileFieldWidgetTestCase extends FileFieldTestCase { public static function getInfo() { @@ -323,7 +323,7 @@ class FileFieldWidgetTestCase extends FileFieldTestCase { } /** - * Tests upload and remove buttons, with and without Ajax, for a single-valued File field. + * Tests upload and remove buttons for a single-valued File field. */ function testSingleValuedWidget() { // Use 'page' instead of 'article', so that the 'article' image field does @@ -380,7 +380,7 @@ class FileFieldWidgetTestCase extends FileFieldTestCase { } /** - * Tests upload and remove buttons, with and without Ajax, for multiple multi-valued File field. + * Tests upload and remove buttons for multiple multi-valued File fields. */ function testMultiValuedWidget() { // Use 'page' instead of 'article', so that the 'article' image field does @@ -616,7 +616,7 @@ class FileFieldWidgetTestCase extends FileFieldTestCase { } /** - * Test class to test file handling with node revisions. + * Tests file handling with node revisions. */ class FileFieldRevisionTestCase extends FileFieldTestCase { public static function getInfo() { @@ -628,7 +628,7 @@ class FileFieldRevisionTestCase extends FileFieldTestCase { } /** - * Test creating multiple revisions of a node and managing the attached files. + * Tests creating multiple revisions of a node and managing attached files. * * Expected behaviors: * - Adding a new revision will make another entry in the field table, but @@ -731,7 +731,7 @@ class FileFieldRevisionTestCase extends FileFieldTestCase { } /** - * Test class to check that formatters are working properly. + * Tests that formatters are working properly. */ class FileFieldDisplayTestCase extends FileFieldTestCase { public static function getInfo() { @@ -743,7 +743,7 @@ class FileFieldDisplayTestCase extends FileFieldTestCase { } /** - * Test normal formatter display on node display. + * Tests normal formatter display on node display. */ function testNodeDisplay() { $field_name = strtolower($this->randomName()); @@ -760,6 +760,19 @@ class FileFieldDisplayTestCase extends FileFieldTestCase { $field = field_info_field($field_name); $instance = field_info_instance('node', $field_name, $type_name); + // Create a new node *without* the file field set, and check that the field + // is not shown for each node display. + $node = $this->drupalCreateNode(array('type' => $type_name)); + $file_formatters = array('file_default', 'file_table', 'file_url_plain', 'hidden'); + foreach ($file_formatters as $formatter) { + $edit = array( + "fields[$field_name][type]" => $formatter, + ); + $this->drupalPost("admin/structure/types/manage/$type_name/display", $edit, t('Save')); + $this->drupalGet('node/' . $node->nid); + $this->assertNoText($field_name, t('Field label is hidden when no file attached for formatter %formatter', array('%formatter' => $formatter))); + } + $test_file = $this->getTestFile('text'); // Create a new node with the uploaded file. @@ -782,7 +795,7 @@ class FileFieldDisplayTestCase extends FileFieldTestCase { } /** - * Test class to check for various validations. + * Tests various validations. */ class FileFieldValidateTestCase extends FileFieldTestCase { protected $field; @@ -797,7 +810,7 @@ class FileFieldValidateTestCase extends FileFieldTestCase { } /** - * Test required property on file fields. + * Tests the required property on file fields. */ function testRequired() { $type_name = 'article'; @@ -845,7 +858,7 @@ class FileFieldValidateTestCase extends FileFieldTestCase { } /** - * Test the max file size validator. + * Tests the max file size validator. */ function testFileMaxSize() { $type_name = 'article'; @@ -897,7 +910,7 @@ class FileFieldValidateTestCase extends FileFieldTestCase { } /** - * Test the file extension, do additional checks if mimedetect is installed. + * Tests file extension checking. */ function testFileExtension() { $type_name = 'article'; @@ -943,7 +956,7 @@ class FileFieldValidateTestCase extends FileFieldTestCase { } /** - * Test class to check that files are uploaded to proper locations. + * Tests that files are uploaded to proper locations. */ class FileFieldPathTestCase extends FileFieldTestCase { public static function getInfo() { @@ -955,7 +968,7 @@ class FileFieldPathTestCase extends FileFieldTestCase { } /** - * Test normal formatter display on node display. + * Tests the normal formatter display on node display. */ function testUploadPath() { $field_name = strtolower($this->randomName()); @@ -1000,7 +1013,7 @@ class FileFieldPathTestCase extends FileFieldTestCase { } /** - * A loose assertion to check that a file is uploaded to the right location. + * Asserts that a file is uploaded to the right location. * * @param $expected_path * The location where the file is expected to be uploaded. Duplicate file @@ -1023,7 +1036,7 @@ class FileFieldPathTestCase extends FileFieldTestCase { } /** - * Test file token replacement in strings. + * Tests the file token replacement in strings. */ class FileTokenReplaceTestCase extends FileFieldTestCase { public static function getInfo() { @@ -1052,6 +1065,9 @@ class FileTokenReplaceTestCase extends FileFieldTestCase { $instance = field_info_instance('node', $field_name, $type_name); $test_file = $this->getTestFile('text'); + // Coping a file to test uploads with non-latin filenames. + $filename = drupal_dirname($test_file->uri) . '/текстовый файл.txt'; + $test_file = file_copy($test_file, $filename); // Create a new node with the uploaded file. $nid = $this->uploadNodeFile($test_file, $field_name, $type_name); @@ -1095,7 +1111,7 @@ class FileTokenReplaceTestCase extends FileFieldTestCase { } /** - * Test class to test file access on private nodes. + * Tests file access on private nodes. */ class FilePrivateTestCase extends FileFieldTestCase { public static function getInfo() { @@ -1113,7 +1129,7 @@ class FilePrivateTestCase extends FileFieldTestCase { } /** - * Uploads a file to a private node, then tests that access is allowed and denied when appropriate. + * Tests file access for file uploaded to a private node. */ function testPrivateFile() { // Use 'page' instead of 'article', so that the 'article' image field does diff --git a/modules/file/tests/file_module_test.module b/modules/file/tests/file_module_test.module index ea65981ca..358c8b011 100644 --- a/modules/file/tests/file_module_test.module +++ b/modules/file/tests/file_module_test.module @@ -22,7 +22,10 @@ function file_module_test_menu() { } /** - * Form builder for testing a 'managed_file' element. + * Form constructor for testing a 'managed_file' element. + * + * @see file_module_test_form_submit() + * @ingroup forms */ function file_module_test_form($form, &$form_state, $tree = TRUE, $extended = FALSE, $default_fid = NULL) { $form['#tree'] = (bool) $tree; |