You are here

public function BlazyUnitTest::testPreprocessBlazy in Blazy 8.2

Tests \Drupal\blazy\Blazy::preprocessBlazy.

@covers \Drupal\blazy\Blazy::preprocessBlazy @covers \Drupal\blazy\Blazy::urlAndDimensions @covers \Drupal\blazy\BlazyDefault::entitySettings @dataProvider providerPreprocessBlazy

Parameters

array $settings: The settings being tested.

object $item: Whether to provide image item, or not.

bool $expected_image: Whether to expect an image, or not.

bool $expected_iframe: Whether to expect an iframe, or not.

File

tests/src/Unit/BlazyUnitTest.php, line 99

Class

BlazyUnitTest
@coversDefaultClass \Drupal\blazy\Blazy

Namespace

Drupal\Tests\blazy\Unit

Code

public function testPreprocessBlazy(array $settings, $item, $expected_image, $expected_iframe) {
  $variables = [
    'attributes' => [],
  ];
  $build = $this->data;
  $settings = array_merge($build['settings'], $settings);
  $settings += BlazyDefault::itemSettings();
  $settings['blazy'] = TRUE;
  $settings['lazy'] = 'blazy';
  $settings['image_style'] = '';
  $settings['thumbnail_style'] = '';
  if (!empty($settings['embed_url'])) {
    $settings = array_merge(BlazyDefault::entitySettings(), $settings);
  }
  $variables['element']['#item'] = $item == TRUE ? $this->testItem : NULL;
  $variables['element']['#settings'] = $settings;
  Blazy::preprocessBlazy($variables);
  $image = $expected_image == TRUE ? !empty($variables['image']) : empty($variables['image']);
  $iframe = $expected_iframe == TRUE ? !empty($variables['iframe']) : empty($variables['iframe']);
  $this
    ->assertTrue($image);
  $this
    ->assertTrue($iframe);
  $this
    ->assertEquals($settings['blazy'], $variables['settings']['blazy']);
}