| 1 file.test | FileTestCase::createFile($filepath = NULL, $contents = NULL, $scheme = NULL) | 
Create a file and save it to the files table and assert that it occurs correctly.
Parameters
$filepath: Optional string specifying the file path. If none is provided then a randomly named file will be created in the site's files directory.
$contents: Optional contents to save into the file. If a NULL value is provided an arbitrary string will be used.
$scheme: Optional string indicating the stream scheme to use. Backdrop core includes public, private, and temporary. The public wrapper is the default.
Return value
File
- core/modules/ simpletest/ tests/ file.test, line 201 
- This provides SimpleTests for the core file handling functionality. These include FileValidateTest and FileSaveTest.
Class
- FileTestCase
- Base class for file tests that adds some additional file specific assertions and helper functions.
Code
function createFile($filepath = NULL, $contents = NULL, $scheme = NULL) {
  if (!isset($filepath)) {
    // Prefix with non-latin characters to ensure that all file-related
    // tests work with international filenames.
    // cspell:disable-next-line.
    $filepath = 'Файл для тестирования ' . $this->randomName();
  }
  if (!isset($scheme)) {
    $scheme = file_default_scheme();
  }
  $filepath = $scheme . '://' . $filepath;
  if (!isset($contents)) {
    $contents = "file_put_contents() doesn't seem to appreciate empty strings so let's put in some data.";
  }
  file_put_contents($filepath, $contents);
  $this->assertTrue(is_file($filepath), 'The test file exists on the disk.', 'Create test file');
  $file = new stdClass();
  $file->uri = $filepath;
  $file->filename = backdrop_basename($file->uri);
  $file->filemime = 'text/plain';
  $file->uid = 1;
  $file->timestamp = REQUEST_TIME;
  $file->filesize = filesize($file->uri);
  $file->status = 0;
  // Write the record directly rather than using the API so we don't invoke
  // the hooks.
  $this->assertNotIdentical(backdrop_write_record('file_managed', $file), FALSE, 'The file was added to the database.', 'Create test file');
  return entity_create('file', (array) $file);
}
