CacheEngineTest.php 867 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. declare(strict_types=1);
  3. namespace Cake\Test\TestCase\Cache\Engine;
  4. use Cake\TestSuite\TestCase;
  5. use DateInterval;
  6. use PHPUnit\Framework\Attributes\DataProvider;
  7. use TestApp\Cache\Engine\TestAppCacheEngine;
  8. class CacheEngineTest extends TestCase
  9. {
  10. public static function durationProvider(): array
  11. {
  12. return [
  13. [null, 10],
  14. [2, 2],
  15. [new DateInterval('PT1S'), 1],
  16. [new DateInterval('P1D'), 86400],
  17. ];
  18. }
  19. /**
  20. * Test duration with null, int and DateInterval multiple format.
  21. */
  22. #[DataProvider('durationProvider')]
  23. public function testDuration($ttl, $expected): void
  24. {
  25. $engine = new TestAppCacheEngine();
  26. $engine->setConfig(['duration' => 10]);
  27. $result = $engine->getDuration($ttl);
  28. $this->assertSame($result, $expected);
  29. }
  30. }