<?php namespace League\Glide\Manipulators\Helpers; use Mockery; use PHPUnit\Framework\TestCase; class DimensionTest extends TestCase { private $image; public function setUp(): void { $this->image = Mockery::mock('Intervention\Image\Image'); } public function tearDown(): void { Mockery::close(); } public function testPixels() { $dimension = new Dimension($this->image); $this->assertSame(500.0, $dimension->get('500')); } public function testRelativeWidth() { $this->image->shouldReceive('width')->andReturn('100')->once(); $dimension = new Dimension($this->image); $this->assertSame(5.0, $dimension->get('5w')); } public function testRelativeHeight() { $this->image->shouldReceive('height')->andReturn('100')->once(); $dimension = new Dimension($this->image); $this->assertSame(5.0, $dimension->get('5h')); } public function testDevicePixelRatio() { $dimension = new Dimension($this->image, 2); $this->assertSame(1000.0, $dimension->get('500')); } public function testInvalidInputs() { $dimension = new Dimension($this->image); $this->assertSame(null, $dimension->get('invalid')); $this->assertSame(null, $dimension->get('0')); $this->assertSame(null, $dimension->get('-1')); } }