Skip to content
Snippets Groups Projects
Commit 52ce43ce authored by Reiter, Christoph's avatar Reiter, Christoph :snake:
Browse files

Increase tests coverage and add some return types

Add some return types to avoid warnings with PHP 8.1
parent 7a8c4739
Branches
Tags v0.1.31
No related merge requests found
Pipeline #87057 passed
...@@ -10,5 +10,4 @@ namespace Dbp\Relay\CoreBundle\Helpers; ...@@ -10,5 +10,4 @@ namespace Dbp\Relay\CoreBundle\Helpers;
class ArrayFullPaginator extends ArrayPaginator class ArrayFullPaginator extends ArrayPaginator
{ {
public const DEBUG = false;
} }
...@@ -62,34 +62,42 @@ abstract class ArrayPaginator implements Iterator, PaginatorInterface ...@@ -62,34 +62,42 @@ abstract class ArrayPaginator implements Iterator, PaginatorInterface
return $this->perPage; return $this->perPage;
} }
public function count() public function count(): int
{ {
$value = count($this->array); $value = count($this->array);
return $value; return $value;
} }
public function rewind() public function rewind(): void
{ {
$this->position = ($this->page - 1) * $this->perPage; $this->position = ($this->page - 1) * $this->perPage;
} }
/**
* @return mixed
*/
#[\ReturnTypeWillChange]
public function current() public function current()
{ {
return $this->array[$this->position]; return $this->array[$this->position];
} }
/**
* @return bool|float|int|mixed|string|null
*/
#[\ReturnTypeWillChange]
public function key() public function key()
{ {
return $this->position; return $this->position;
} }
public function next() public function next(): void
{ {
++$this->position; ++$this->position;
} }
public function valid() public function valid(): bool
{ {
$value = isset($this->array[$this->position]) && $value = isset($this->array[$this->position]) &&
($this->position >= (($this->page - 1) * $this->perPage)) && ($this->position >= (($this->page - 1) * $this->perPage)) &&
......
...@@ -34,12 +34,12 @@ class ArrayPartPaginator extends ArrayPaginator ...@@ -34,12 +34,12 @@ class ArrayPartPaginator extends ArrayPaginator
return $this->page; return $this->page;
} }
public function rewind() public function rewind(): void
{ {
$this->position = 0; $this->position = 0;
} }
public function valid() public function valid(): bool
{ {
$value = isset($this->array[$this->position]); $value = isset($this->array[$this->position]);
......
<?php
declare(strict_types=1);
namespace Dbp\Relay\CoreBundle\Tests\Helpers;
use Dbp\Relay\CoreBundle\Helpers\ArrayFullPaginator;
use Dbp\Relay\CoreBundle\Helpers\ArrayPartPaginator;
use Dbp\Relay\CoreBundle\Helpers\GuzzleTools;
use Dbp\Relay\CoreBundle\Helpers\MimeTools;
use PHPUnit\Framework\TestCase;
use Psr\Log\NullLogger;
class HelpersTest extends TestCase
{
public function testArrayFullPaginator()
{
$paginator = new ArrayFullPaginator([4, 5, 6], 1, 2);
$this->assertSame($paginator->getCurrentPage(), 1.0);
$this->assertSame($paginator->getItemsPerPage(), 2.0);
$this->assertSame($paginator->getTotalItems(), 3.0);
$this->assertSame($paginator->current(), 4);
$this->assertSame($paginator->key(), 0);
$this->assertTrue($paginator->valid());
$paginator->next();
$this->assertSame($paginator->current(), 5);
$this->assertSame($paginator->getLastPage(), 2.0);
}
public function testArrayPartPaginator()
{
$paginator = new ArrayPartPaginator([4, 5, 6], 3, 1, 2);
$this->assertSame($paginator->getCurrentPage(), 1.0);
$this->assertSame($paginator->getItemsPerPage(), 2.0);
$this->assertSame($paginator->getTotalItems(), 3.0);
$this->assertSame($paginator->current(), 4);
$this->assertSame($paginator->key(), 0);
$this->assertTrue($paginator->valid());
$paginator->next();
$this->assertSame($paginator->current(), 5);
$this->assertSame($paginator->getLastPage(), 2.0);
}
public function testGuzzleTools()
{
$middleware = GuzzleTools::createLoggerMiddleware(new NullLogger());
$this->assertNotNull($middleware);
}
public function testMimeTools()
{
$this->assertSame(MimeTools::getDataURI('foobar', 'text/html'), 'data:text/html;base64,Zm9vYmFy');
$this->assertSame(
MimeTools::getMimeType(base64_decode('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQI12Mo3CQPAALaAUMu4mcOAAAAAElFTkSuQmCC', true)),
'image/png');
$this->assertSame(MimeTools::getFileExtensionForMimeType('image/png'), 'png');
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment