You are here

public function ResponsiveImageStyleConfigEntityUnitTest::testGetKeyedImageStyleMappings in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/responsive_image/tests/src/Unit/ResponsiveImageStyleConfigEntityUnitTest.php \Drupal\Tests\responsive_image\Unit\ResponsiveImageStyleConfigEntityUnitTest::testGetKeyedImageStyleMappings()

@covers ::addImageStyleMapping @covers ::getKeyedImageStyleMappings

File

core/modules/responsive_image/tests/src/Unit/ResponsiveImageStyleConfigEntityUnitTest.php, line 192
Contains \Drupal\Tests\responsive_image\Unit\ResponsiveImageStyleConfigEntityUnitTest.

Class

ResponsiveImageStyleConfigEntityUnitTest
@coversDefaultClass \Drupal\responsive_image\Entity\ResponsiveImageStyle @group block

Namespace

Drupal\Tests\responsive_image\Unit

Code

public function testGetKeyedImageStyleMappings() {
  $entity = new ResponsiveImageStyle(array(
    '',
  ));
  $entity
    ->addImageStyleMapping('test_breakpoint', '1x', array(
    'image_mapping_type' => 'image_style',
    'image_mapping' => 'large',
  ));
  $entity
    ->addImageStyleMapping('test_breakpoint', '2x', array(
    'image_mapping_type' => 'sizes',
    'image_mapping' => array(
      'sizes' => '(min-width:700px) 700px, 100vw',
      'sizes_image_styles' => array(
        'large' => 'large',
      ),
    ),
  ));
  $entity
    ->addImageStyleMapping('test_breakpoint2', '1x', array(
    'image_mapping_type' => 'image_style',
    'image_mapping' => 'thumbnail',
  ));
  $entity
    ->addImageStyleMapping('test_breakpoint2', '2x', array(
    'image_mapping_type' => 'image_style',
    'image_mapping' => '_original image_',
  ));
  $expected = array(
    'test_breakpoint' => array(
      '1x' => array(
        'breakpoint_id' => 'test_breakpoint',
        'multiplier' => '1x',
        'image_mapping_type' => 'image_style',
        'image_mapping' => 'large',
      ),
      '2x' => array(
        'breakpoint_id' => 'test_breakpoint',
        'multiplier' => '2x',
        'image_mapping_type' => 'sizes',
        'image_mapping' => array(
          'sizes' => '(min-width:700px) 700px, 100vw',
          'sizes_image_styles' => array(
            'large' => 'large',
          ),
        ),
      ),
    ),
    'test_breakpoint2' => array(
      '1x' => array(
        'breakpoint_id' => 'test_breakpoint2',
        'multiplier' => '1x',
        'image_mapping_type' => 'image_style',
        'image_mapping' => 'thumbnail',
      ),
      '2x' => array(
        'breakpoint_id' => 'test_breakpoint2',
        'multiplier' => '2x',
        'image_mapping_type' => 'image_style',
        'image_mapping' => '_original image_',
      ),
    ),
  );
  $this
    ->assertEquals($expected, $entity
    ->getKeyedImageStyleMappings());

  // Add another mapping to ensure keyed mapping static cache is rebuilt.
  $entity
    ->addImageStyleMapping('test_breakpoint2', '2x', array(
    'image_mapping_type' => 'image_style',
    'image_mapping' => 'medium',
  ));
  $expected['test_breakpoint2']['2x'] = array(
    'breakpoint_id' => 'test_breakpoint2',
    'multiplier' => '2x',
    'image_mapping_type' => 'image_style',
    'image_mapping' => 'medium',
  );
  $this
    ->assertEquals($expected, $entity
    ->getKeyedImageStyleMappings());

  // Overwrite a mapping to ensure keyed mapping static cache is rebuilt.
  $entity
    ->addImageStyleMapping('test_breakpoint2', '2x', array(
    'image_mapping_type' => 'image_style',
    'image_mapping' => 'large',
  ));
  $expected['test_breakpoint2']['2x'] = array(
    'breakpoint_id' => 'test_breakpoint2',
    'multiplier' => '2x',
    'image_mapping_type' => 'image_style',
    'image_mapping' => 'large',
  );
  $this
    ->assertEquals($expected, $entity
    ->getKeyedImageStyleMappings());
}