You are here

public function ReplaceEffectTest::testReplaceEffect in Image Replace 7

Same name and namespace in other branches
  1. 8 src/Tests/ReplaceEffectTest.php \Drupal\image_replace\Tests\ReplaceEffectTest::testReplaceEffect()

Tests functionality of the replace image effect.

Functionality covered by this test include:

File

src/Tests/ReplaceEffectTest.php, line 39

Class

ReplaceEffectTest
Tests functionality of the replace image effect.

Namespace

Drupal\image_replace\Tests

Code

public function testReplaceEffect() {
  list($original_file, $replacement_file) = $this
    ->createTestFiles();

  // Create an image style containing the replace effect.
  $style_name = 'image_replace_test';
  $style = $this
    ->createImageStyle($style_name);

  // Apply the image style to a test image.
  $generated_url = image_style_url($style_name, $original_file->uri);
  $generated_image_data = $this
    ->drupalGet($generated_url);
  $this
    ->assertResponse(200);

  // Assert that the result is the original image.
  $generated_uri = file_unmanaged_save_data($generated_image_data);
  $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.
  image_replace_add($style_name, $original_file->uri, $replacement_file->uri);
  image_style_flush($style);

  // Apply the image style to the test imge.
  $generated_url = image_style_url($style_name, $original_file->uri);
  $generated_image_data = $this
    ->drupalGet($generated_url);
  $this
    ->assertResponse(200);

  // Assert that the result is the replacement image.
  $generated_uri = file_unmanaged_save_data($generated_image_data);
  $this
    ->assertTrue($this
    ->imageIsReplacement($generated_uri), 'The generated file should be the same as the replacement file');

  // Set up a replacement image.
  image_replace_remove($style_name, $original_file->uri, $replacement_file->uri);
  image_style_flush($style);

  // Apply the image style to a test image.
  $generated_url = image_style_url($style_name, $original_file->uri);
  $generated_image_data = $this
    ->drupalGet($generated_url);
  $this
    ->assertResponse(200);

  // Assert that the result is the original image.
  $generated_uri = file_unmanaged_save_data($generated_image_data);
  $this
    ->assertTrue($this
    ->imageIsOriginal($generated_uri), 'The generated file should be the same as the original file if the replacement mapping was removed.');
}