Chris@16
|
1 <?php
|
Chris@16
|
2
|
Chris@16
|
3 namespace Drupal\Tests\image\Functional;
|
Chris@16
|
4
|
Chris@16
|
5 use Drupal\file\Entity\File;
|
Chris@16
|
6 use Drupal\image\Entity\ImageStyle;
|
Chris@16
|
7 use Drupal\Tests\BrowserTestBase;
|
Chris@16
|
8 use Drupal\Tests\TestFileCreationTrait;
|
Chris@16
|
9
|
Chris@16
|
10 /**
|
Chris@16
|
11 * Tests the file move function for images and image styles.
|
Chris@16
|
12 *
|
Chris@16
|
13 * @group image
|
Chris@16
|
14 */
|
Chris@16
|
15 class FileMoveTest extends BrowserTestBase {
|
Chris@16
|
16
|
Chris@16
|
17 use TestFileCreationTrait {
|
Chris@16
|
18 getTestFiles as drupalGetTestFiles;
|
Chris@16
|
19 compareFiles as drupalCompareFiles;
|
Chris@16
|
20 }
|
Chris@16
|
21
|
Chris@16
|
22 /**
|
Chris@16
|
23 * Modules to enable.
|
Chris@16
|
24 *
|
Chris@16
|
25 * @var array
|
Chris@16
|
26 */
|
Chris@16
|
27 public static $modules = ['image'];
|
Chris@16
|
28
|
Chris@16
|
29 /**
|
Chris@16
|
30 * Tests moving a randomly generated image.
|
Chris@16
|
31 */
|
Chris@16
|
32 public function testNormal() {
|
Chris@16
|
33 // Pick a file for testing.
|
Chris@16
|
34 $file = File::create((array) current($this->drupalGetTestFiles('image')));
|
Chris@16
|
35
|
Chris@16
|
36 // Create derivative image.
|
Chris@16
|
37 $styles = ImageStyle::loadMultiple();
|
Chris@16
|
38 $style = reset($styles);
|
Chris@16
|
39 $original_uri = $file->getFileUri();
|
Chris@16
|
40 $derivative_uri = $style->buildUri($original_uri);
|
Chris@16
|
41 $style->createDerivative($original_uri, $derivative_uri);
|
Chris@16
|
42
|
Chris@16
|
43 // Check if derivative image exists.
|
Chris@16
|
44 $this->assertTrue(file_exists($derivative_uri), 'Make sure derivative image is generated successfully.');
|
Chris@16
|
45
|
Chris@16
|
46 // Clone the object so we don't have to worry about the function changing
|
Chris@16
|
47 // our reference copy.
|
Chris@16
|
48 $desired_filepath = 'public://' . $this->randomMachineName();
|
Chris@16
|
49 $result = file_move(clone $file, $desired_filepath, FILE_EXISTS_ERROR);
|
Chris@16
|
50
|
Chris@16
|
51 // Check if image has been moved.
|
Chris@16
|
52 $this->assertTrue(file_exists($result->getFileUri()), 'Make sure image is moved successfully.');
|
Chris@16
|
53
|
Chris@16
|
54 // Check if derivative image has been flushed.
|
Chris@16
|
55 $this->assertFalse(file_exists($derivative_uri), 'Make sure derivative image has been flushed.');
|
Chris@16
|
56 }
|
Chris@16
|
57
|
Chris@16
|
58 }
|