protected function DrupalWebTestCase::drupalGetTestFiles

7.x drupal_web_test_case.php protected DrupalWebTestCase::drupalGetTestFiles($type, $size = NULL)

Get a list files that can be used in tests.

Parameters

$type: File type, possible values: 'binary', 'html', 'image', 'javascript', 'php', 'sql', 'text'.

$size: File size in bytes to match. Please check the tests/files folder.

Return value

List of files that match filter.

29 calls to DrupalWebTestCase::drupalGetTestFiles()
CommentPreviewTest::testCommentPreview in drupal-7.x/modules/comment/comment.test
Test comment preview.
FileFieldTestCase::getTestFile in drupal-7.x/modules/file/tests/file.test
Retrieves a sample file of the specified type.
FileSaveUploadTest::setUp in drupal-7.x/modules/simpletest/tests/file.test
Sets up a Drupal site for running functional and integration tests.
FileSaveUploadTest::testNormal in drupal-7.x/modules/simpletest/tests/file.test
Test the file_save_upload() function.
FormStateValuesCleanAdvancedTestCase::testFormStateValuesCleanAdvanced in drupal-7.x/modules/simpletest/tests/form.test
Tests form_state_values_clean().

... See full list

File

drupal-7.x/modules/simpletest/drupal_web_test_case.php, line 1044

Class

DrupalWebTestCase
Test case for typical Drupal tests.

Code

protected function drupalGetTestFiles($type, $size = NULL) {
  if (empty($this->generatedTestFiles)) {
    // Generate binary test files.
    $lines = array(64, 1024);
    $count = 0;
    foreach ($lines as $line) {
      simpletest_generate_file('binary-' . $count++, 64, $line, 'binary');
    }

    // Generate text test files.
    $lines = array(16, 256, 1024, 2048, 20480);
    $count = 0;
    foreach ($lines as $line) {
      simpletest_generate_file('text-' . $count++, 64, $line);
    }

    // Copy other test files from simpletest.
    $original = drupal_get_path('module', 'simpletest') . '/files';
    $files = file_scan_directory($original, '/(html|image|javascript|php|sql)-.*/');
    foreach ($files as $file) {
      file_unmanaged_copy($file->uri, variable_get('file_public_path', conf_path() . '/files'));
    }

    $this->generatedTestFiles = TRUE;
  }

  $files = array();
  // Make sure type is valid.
  if (in_array($type, array('binary', 'html', 'image', 'javascript', 'php', 'sql', 'text'))) {
    $files = file_scan_directory('public://', '/' . $type . '\-.*/');

    // If size is set then remove any files that are not of that size.
    if ($size !== NULL) {
      foreach ($files as $file) {
        $stats = stat($file->uri);
        if ($stats['size'] != $size) {
          unset($files[$file->uri]);
        }
      }
    }
  }
  usort($files, array($this, 'drupalCompareFiles'));
  return $files;
}