You are here

public function FileManagedUnitTestBase::createFile in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/file/tests/src/Kernel/FileManagedUnitTestBase.php \Drupal\Tests\file\Kernel\FileManagedUnitTestBase::createFile()
  2. 10 core/modules/file/tests/src/Kernel/FileManagedUnitTestBase.php \Drupal\Tests\file\Kernel\FileManagedUnitTestBase::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.

24 calls to FileManagedUnitTestBase::createFile()
CopyTest::testExistingError in core/modules/file/tests/src/Kernel/CopyTest.php
Test that copying over an existing file fails when instructed to do so.
CopyTest::testExistingRename in core/modules/file/tests/src/Kernel/CopyTest.php
Test renaming when copying over a file that already exists.
CopyTest::testExistingReplace in core/modules/file/tests/src/Kernel/CopyTest.php
Test replacement when copying over a file that already exists.
CopyTest::testNormal in core/modules/file/tests/src/Kernel/CopyTest.php
Test file copying in the normal, base case.
DeleteTest::testCronDeleteNonExistingTemporary in core/modules/file/tests/src/Kernel/DeleteTest.php
Tries to run cron deletion on file deleted from the file-system.

... See full list

File

core/modules/file/tests/src/Kernel/FileManagedUnitTestBase.php, line 163

Class

FileManagedUnitTestBase
Base class for file unit tests that use the file_test module to test uploads and hooks.

Namespace

Drupal\Tests\file\Kernel

Code

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.
  $this
    ->assertTrue($file
    ->id() > 0, 'The file was added to the database.', 'Create test file');
  \Drupal::state()
    ->set('file_test.count_hook_invocations', TRUE);
  return $file;
}