You are here

public function FileSaveDataTest::testFileSaveData in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/KernelTests/Core/File/FileSaveDataTest.php \Drupal\KernelTests\Core\File\FileSaveDataTest::testFileSaveData()

Tests the file_unmanaged_save_data() function.

File

core/tests/Drupal/KernelTests/Core/File/FileSaveDataTest.php, line 17

Class

FileSaveDataTest
Tests the file_unmanaged_save_data() function.

Namespace

Drupal\KernelTests\Core\File

Code

public function testFileSaveData() {
  $contents = $this
    ->randomMachineName(8);
  $this
    ->setSetting('file_chmod_file', 0777);

  // No filename.

  /** @var \Drupal\Core\File\FileSystemInterface $file_system */
  $file_system = \Drupal::service('file_system');

  // Provide a filename.
  $filepath = $file_system
    ->saveData($contents, 'public://asdf.txt', FileSystemInterface::EXISTS_REPLACE);
  $this
    ->assertNotFalse($filepath, 'Unnamed file saved correctly.');
  $this
    ->assertEquals('asdf.txt', \Drupal::service('file_system')
    ->basename($filepath), 'File was named correctly.');
  $this
    ->assertEquals($contents, file_get_contents($filepath), 'Contents of the file are correct.');
  $this
    ->assertFilePermissions($filepath, 0777);
}