function UnmanagedSaveDataTest::testFileSaveData

Test the file_unmanaged_save_data() function.

File

drupal/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedSaveDataTest.php, line 25
Definition of Drupal\system\Tests\File\UnmanagedSaveDataTest.

Class

UnmanagedSaveDataTest
Tests the file_unmanaged_save_data() function.

Namespace

Drupal\system\Tests\File

Code

function testFileSaveData() {
  $contents = $this
    ->randomName(8);

  // No filename.
  $filepath = file_unmanaged_save_data($contents);
  $this
    ->assertTrue($filepath, 'Unnamed file saved correctly.');
  $this
    ->assertEqual(file_uri_scheme($filepath), file_default_scheme(), "File was placed in Drupal's files directory.");
  $this
    ->assertEqual($contents, file_get_contents($filepath), 'Contents of the file are correct.');

  // Provide a filename.
  $filepath = file_unmanaged_save_data($contents, 'public://asdf.txt', FILE_EXISTS_REPLACE);
  $this
    ->assertTrue($filepath, 'Unnamed file saved correctly.');
  $this
    ->assertEqual('asdf.txt', drupal_basename($filepath), 'File was named correctly.');
  $this
    ->assertEqual($contents, file_get_contents($filepath), 'Contents of the file are correct.');
  $this
    ->assertFilePermissions($filepath, octdec(config('system.file')
    ->get('chmod.file')));
}