public function FileManagedTestBase::createFile in Drupal 10
Same name and namespace in other branches
- 8 core/modules/file/tests/src/Functional/FileManagedTestBase.php \Drupal\Tests\file\Functional\FileManagedTestBase::createFile()
- 9 core/modules/file/tests/src/Functional/FileManagedTestBase.php \Drupal\Tests\file\Functional\FileManagedTestBase::createFile()
Create a file and save it to the files table and assert that it occurs correctly.
Parameters
string $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.
string $contents: Optional contents to save into the file. If a NULL value is provided an arbitrary string will be used.
string $scheme: Optional string indicating the stream scheme to use. Drupal core includes public, private, and temporary. The public wrapper is the default.
Return value
\Drupal\file\FileInterface File entity.
File
- core/
modules/ file/ tests/ src/ Functional/ FileManagedTestBase.php, line 150
Class
- FileManagedTestBase
- Base class for file tests that use the file_test module to test uploads and hooks.
Namespace
Drupal\Tests\file\FunctionalCode
public function createFile($filepath = NULL, $contents = NULL, $scheme = NULL) {
// Don't count hook invocations caused by creating the file.
\Drupal::state()
->set('file_test.count_hook_invocations', FALSE);
$file = File::create([
'uri' => $this
->createUri($filepath, $contents, $scheme),
'uid' => 1,
]);
$file
->save();
// Write the record directly rather than using the API so we don't invoke
// the hooks.
// Verify that the file was added to the database.
$this
->assertGreaterThan(0, $file
->id());
\Drupal::state()
->set('file_test.count_hook_invocations', TRUE);
return $file;
}