You are here

public function FileStorageTest::testDeleteAll in Drupal 8

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Component/PhpStorage/FileStorageTest.php \Drupal\Tests\Component\PhpStorage\FileStorageTest::testDeleteAll()

@covers ::deleteAll

File

core/tests/Drupal/Tests/Component/PhpStorage/FileStorageTest.php, line 60

Class

FileStorageTest
@coversDefaultClass \Drupal\Component\PhpStorage\FileStorage @group Drupal @group PhpStorage

Namespace

Drupal\Tests\Component\PhpStorage

Code

public function testDeleteAll() {

  // Random generator.
  $random_generator = new Random();

  // Write out some files.
  $php = new FileStorage($this->standardSettings);
  $name = $random_generator
    ->name(8, TRUE) . '/' . $random_generator
    ->name(8, TRUE) . '.php';

  // Find a global that doesn't exist.
  do {
    $random = mt_rand(10000, 100000);
  } while (isset($GLOBALS[$random]));

  // Write out a PHP file and ensure it's successfully loaded.
  $code = "<?php\n\$GLOBALS[{$random}] = TRUE;";
  $this
    ->assertTrue($php
    ->save($name, $code), 'Saved php file');
  $php
    ->load($name);
  $this
    ->assertTrue($GLOBALS[$random], 'File saved correctly with correct value');

  // Make sure directory exists prior to removal.
  $this
    ->assertDirectoryExists($this->directory . '/test');
  $this
    ->assertTrue($php
    ->deleteAll(), 'Delete all reported success');
  $this
    ->assertFalse($php
    ->load($name));
  $this
    ->assertDirectoryNotExists($this->directory . '/test');

  // Should still return TRUE if directory has already been deleted.
  $this
    ->assertTrue($php
    ->deleteAll(), 'Delete all succeeds with nothing to delete');
  unset($GLOBALS[$random]);
}