lazyloader-8.x-1.x-dev/tests/src/Unit/ResponsiveImageTest.php

tests/src/Unit/ResponsiveImageTest.php
<?php

namespace Drupal\Tests\lazyloader\Unit;

use Drupal\lazyloader\ResponsiveImage;
use PHPUnit\Framework\TestCase;

/**
 * @coversDefaultClass \Drupal\lazyloader\ResponsiveImage
 * @group lazyloader
 */
class ResponsiveImageTest extends TestCase {

  /**
   * @covers ::count
   * @covers ::parse
   */
  public function testSingleImage() {
    $string = 'mall.jpg 500w';
    $image = ResponsiveImage::parse($string);
    $this->assertCount(1, $image);
    $this->assertEquals('mall.jpg', $image->get(0)->uri);
    $this->assertEquals('500', $image->get(0)->width);
    $this->assertNull($image->get(0)->density);
    return $image;
  }

  /**
   * Tests the to string of a single image.
   *
   * @depends testSingleImage
   */
  public function testSingleImageToString(ResponsiveImage $image) {
    $string = 'mall.jpg 500w';
    $this->assertEquals($string, $image->__toString());
  }

  /**
   * @covers ::count
   * @covers ::parse
   */
  public function testSingleImageWithDensity() {
    $string = 'mall.jpg 2x';
    $image = ResponsiveImage::parse($string);
    $this->assertCount(1, $image);
    $this->assertEquals('mall.jpg', $image->get(0)->uri);
    $this->assertNull($image->get(0)->width);
    $this->assertEquals('2', $image->get(0)->density);
    $this->assertEquals($string, $image->__toString());
    return $image;
  }

  /**
   * Tests single images with density to string.
   *
   * @depends testSingleImageWithDensity
   */
  public function testSingleImageWithDensityToString(ResponsiveImage $image) {
    $string = 'mall.jpg 2x';
    $this->assertEquals($string, $image->__toString());
  }

  /**
   * Tests multiple images.
   *
   * @covers ::count
   * @covers ::parse
   */
  public function testMultipleImages() {
    $string = 'small.jpg 500w,
		medium.jpg 3x,

  big.jpg 1024w';
    $image = ResponsiveImage::parse($string);
    $this->assertCount(3, $image);
    $this->assertEquals('small.jpg', $image->get(0)->uri);
    $this->assertEquals('medium.jpg', $image->get(1)->uri);
    $this->assertEquals('big.jpg', $image->get(2)->uri);

    $this->assertEquals('500', $image->get(0)->width);
    $this->assertNull($image->get(1)->width);
    $this->assertEquals('1024', $image->get(2)->width);

    $this->assertNull($image->get(0)->density);
    $this->assertEquals('3', $image->get(1)->density);
    $this->assertNull($image->get(2)->density);

    return $image;
  }

  /**
   * Tests the to string function for multiple images.
   *
   * @depends testMultipleImages
   */
  public function testMultipleImagesToString(ResponsiveImage $image) {
    $string = 'small.jpg 500w, medium.jpg 3x, big.jpg 1024w';
    $this->assertEquals($string, $image->__toString());
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc