function FileSaveDataTest::testExistingError

Test that file_save_data() fails overwriting an existing file.

File

drupal/modules/simpletest/tests/file.test, line 2297
This provides SimpleTests for the core file handling functionality. These include FileValidateTest and FileSaveTest.

Class

FileSaveDataTest
Tests the file_save_data() function.

Code

function testExistingError() {
  $contents = $this
    ->randomName(8);
  $existing = $this
    ->createFile(NULL, $contents);

  // Check the overwrite error.
  $result = file_save_data('asdf', $existing->uri, FILE_EXISTS_ERROR);
  $this
    ->assertFalse($result, 'Overwriting a file fails when FILE_EXISTS_ERROR is specified.');
  $this
    ->assertEqual($contents, file_get_contents($existing->uri), 'Contents of existing file were unchanged.');

  // Check that no hooks were called while failing.
  $this
    ->assertFileHooksCalled(array());

  // Ensure that the existing file wasn't overwritten.
  $this
    ->assertFileUnchanged($existing, file_load($existing->fid, TRUE));
}