You are here

public function FileCacheTest::testGetMultiple in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Component/FileCache/FileCacheTest.php \Drupal\Tests\Component\FileCache\FileCacheTest::testGetMultiple()

@covers ::getMultiple

File

core/tests/Drupal/Tests/Component/FileCache/FileCacheTest.php, line 69

Class

FileCacheTest
@coversDefaultClass \Drupal\Component\FileCache\FileCache @group FileCache

Namespace

Drupal\Tests\Component\FileCache

Code

public function testGetMultiple() {

  // Test a cache miss.
  $result = $this->fileCache
    ->getMultiple([
    __DIR__ . '/Fixtures/no-llama-42.yml',
  ]);
  $this
    ->assertEmpty($result);

  // Test a cache hit.
  $filename = __DIR__ . '/Fixtures/llama-42.txt';
  $realpath = realpath($filename);
  $cid = 'prefix:test:' . $realpath;
  $data = [
    'mtime' => filemtime($realpath),
    'filepath' => $realpath,
    'data' => 42,
  ];
  $this->staticFileCache
    ->store($cid, $data);
  $result = $this->fileCache
    ->getMultiple([
    $filename,
  ]);
  $this
    ->assertEquals([
    $filename => 42,
  ], $result);

  // Test a static cache hit.
  $file2 = __DIR__ . '/Fixtures/llama-23.txt';
  $this->fileCache
    ->set($file2, 23);
  $result = $this->fileCache
    ->getMultiple([
    $filename,
    $file2,
  ]);
  $this
    ->assertEquals([
    $filename => 42,
    $file2 => 23,
  ], $result);

  // Cleanup static caches.
  $this->fileCache
    ->delete($filename);
  $this->fileCache
    ->delete($file2);
}