function FileSaveDataTest::testFileSaveData

Same name and namespace in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/File/FileSaveDataTest.php \Drupal\KernelTests\Core\File\FileSaveDataTest::testFileSaveData()
  2. 10 core/tests/Drupal/KernelTests/Core/File/FileSaveDataTest.php \Drupal\KernelTests\Core\File\FileSaveDataTest::testFileSaveData()
  3. 11.x core/tests/Drupal/KernelTests/Core/File/FileSaveDataTest.php \Drupal\KernelTests\Core\File\FileSaveDataTest::testFileSaveData()

Test the file_unmanaged_save_data() function.

File

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

Class

FileSaveDataTest
Tests the <a href="/api/drupal/core%21includes%21file.inc/function/file_unmanaged_save_data/8.9.x" title="Saves a file to the specified destination without invoking file API." class="local">file_unmanaged_save_data</a>() 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->assertEqual('asdf.txt', \Drupal::service('file_system')->basename($filepath), 'File was named correctly.');
    $this->assertEqual($contents, file_get_contents($filepath), 'Contents of the file are correct.');
    $this->assertFilePermissions($filepath, 0777);
}

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