function FileUnmanagedMoveTest::testOverwriteSelf

Try to move a file onto itself.

File

modules/simpletest/tests/file.test, line 1600

Class

FileUnmanagedMoveTest
Unmanaged move related tests.

Code

function testOverwriteSelf() {
    // Create a file for testing.
    $file = $this->createFile();
    // Move the file onto itself without renaming shouldn't make changes.
    $new_filepath = file_unmanaged_move($file->uri, $file->uri, FILE_EXISTS_REPLACE);
    $this->assertFalse($new_filepath, 'Moving onto itself without renaming fails.');
    $this->assertTrue(file_exists($file->uri), 'File exists after moving onto itself.');
    // Move the file onto itself with renaming will result in a new filename.
    $new_filepath = file_unmanaged_move($file->uri, $file->uri, FILE_EXISTS_RENAME);
    $this->assertTrue($new_filepath, 'Moving onto itself with renaming works.');
    $this->assertFalse(file_exists($file->uri), 'Original file has been removed.');
    $this->assertTrue(file_exists($new_filepath), 'File exists after moving onto itself.');
}

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