function DrupalWebTestCase::drupalGetTestFiles

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.

36 calls to DrupalWebTestCase::drupalGetTestFiles()
CommentPreviewTest::testCommentPreview in modules/comment/comment.test
Test comment preview.
FileFieldAnonymousSubmission::getTestImage in modules/file/tests/file.test
Generates a test image.
FileFieldTestCase::getTestFile in modules/file/tests/file.test
Retrieves a sample file of the specified type.
FileSaveUploadTest::setUp in modules/simpletest/tests/file.test
Sets up a Drupal site for running functional and integration tests.
FileSaveUploadTest::testNormal in modules/simpletest/tests/file.test
Test the file_save_upload() function.

... See full list

File

modules/simpletest/drupal_web_test_case.php, line 1159

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, 'text');
        }
        // 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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.