- Patch #1159258 by Deciphered: fixed image_file_move() flushes new URI not source URI.

8.0.x
Dries 2012-02-05 08:59:33 -05:00
parent 3aed4afd5a
commit 26bf1f5b64
2 changed files with 42 additions and 1 deletions

View File

@ -319,7 +319,7 @@ function image_file_download($uri) {
*/
function image_file_move($file, $source) {
// Delete any image derivatives at the original image path.
image_path_flush($file->uri);
image_path_flush($source->uri);
}
/**

View File

@ -462,3 +462,44 @@ class ImageToolkitGdTestCase extends DrupalWebTestCase {
}
}
/**
* Tests the file move function for managed files.
*/
class ImageFileMoveTest extends ImageToolkitTestCase {
public static function getInfo() {
return array(
'name' => 'Image moving',
'description' => 'Tests the file move function for managed files.',
'group' => 'Image',
);
}
/**
* Tests moving a randomly generated image.
*/
function testNormal() {
// Pick a file for testing.
$file = current($this->drupalGetTestFiles('image'));
// Create derivative image.
$style = image_style_load(key(image_styles()));
$derivative_uri = image_style_path($style['name'], $file->uri);
image_style_create_derivative($style, $file->uri, $derivative_uri);
// Check if derivative image exists.
$this->assertTrue(file_exists($derivative_uri), 'Make sure derivative image is generated successfully.');
// Clone the object so we don't have to worry about the function changing
// our reference copy.
$desired_filepath = 'public://' . $this->randomName();
$result = file_move(clone $file, $desired_filepath, FILE_EXISTS_ERROR);
// Check if image has been moved.
$this->assertTrue(file_exists($result->uri), 'Make sure image is moved successfully.');
// Check if derivative image has been flushed.
$this->assertFalse(file_exists($derivative_uri), 'Make sure derivative image has been flushed.');
}
}