public function ReplaceEffectTest::testReplaceEffect in Image Replace 8
Same name and namespace in other branches
- 7 src/Tests/ReplaceEffectTest.php \Drupal\image_replace\Tests\ReplaceEffectTest::testReplaceEffect()
Tests functionality of the replace image effect.
Functionality covered by this test include:
- image_replace_add()
- image_replace_get()
- image_replace_remove()
- image_replace_effect()
File
- src/
Tests/ ReplaceEffectTest.php, line 28
Class
- ReplaceEffectTest
- Tests functionality of the replace image effect.
Namespace
Drupal\image_replace\TestsCode
public function testReplaceEffect() {
list($original_file, $replacement_file) = $this
->createTestFiles();
$storage_service = \Drupal::service('image_replace.storage');
$file_system = \Drupal::service('file_system');
// Create an image style containing the replace effect.
$style_name = 'image_replace_test';
$this
->createImageStyle($style_name);
// Apply the image style to a test image.
$generated_url = ImageStyle::load($style_name)
->buildUrl($original_file
->getFileUri());
$generated_image_data = $this
->drupalGet($generated_url);
$this
->assertSession()
->statusCodeEquals(200);
$default_scheme = \Drupal::config('system.file')
->get('default_scheme');
$file_destination = $default_scheme . '://';
// Assert that the result is the original image.
$generated_uri = $file_system
->saveData($generated_image_data, $file_destination);
$this
->assertTrue($this
->imageIsOriginal($generated_uri), 'The generated file should be the same as the original file if there is no replacement mapping.');
// Set up a replacement image.
$storage_service
->add($style_name, $original_file
->getFileUri(), $replacement_file
->getFileUri());
ImageStyle::load($style_name)
->flush();
// Apply the image style to the test imge.
$generated_url = ImageStyle::load($style_name)
->buildUrl($original_file
->getFileUri());
$generated_image_data = $this
->drupalGet($generated_url);
$this
->assertSession()
->statusCodeEquals(200);
// Assert that the result is the replacement image.
$generated_uri = $file_system
->saveData($generated_image_data, $file_destination);
$this
->assertTrue($this
->imageIsReplacement($generated_uri), 'The generated file should be the same as the replacement file.');
// Set up a replacement image.
$storage_service
->remove($style_name, $original_file
->getFileUri(), $replacement_file
->getFileUri());
ImageStyle::load($style_name)
->flush();
// Apply the image style to a test image.
$generated_url = ImageStyle::load($style_name)
->buildUrl($original_file
->getFileUri());
$generated_image_data = $this
->drupalGet($generated_url);
$this
->assertSession()
->statusCodeEquals(200);
// Assert that the result is the original image.
$generated_uri = $file_system
->saveData($generated_image_data, $file_destination);
$this
->assertTrue($this
->imageIsOriginal($generated_uri), 'The generated file should be the same as the original file if the replacement mapping was removed.');
}