class FileDeleteRecursiveTest
Same name and namespace in other branches
- 11.x core/tests/Drupal/KernelTests/Core/File/FileDeleteRecursiveTest.php \Drupal\KernelTests\Core\File\FileDeleteRecursiveTest
Tests the unmanaged file delete recursive function.
@group File
Hierarchy
- class \Drupal\KernelTests\KernelTestBase extends \Drupal\Core\DependencyInjection\ServiceProviderInterface uses \Drupal\KernelTests\AssertLegacyTrait, \Drupal\KernelTests\AssertContentTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\ExtensionListTestTrait, \Drupal\Tests\TestRequirementsTrait, \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait implements \PHPUnit\Framework\TestCase
- class \Drupal\KernelTests\Core\File\FileTestBase implements \Drupal\KernelTests\KernelTestBase
- class \Drupal\KernelTests\Core\File\FileDeleteRecursiveTest implements \Drupal\KernelTests\Core\File\FileTestBase
- class \Drupal\KernelTests\Core\File\FileTestBase implements \Drupal\KernelTests\KernelTestBase
Expanded class hierarchy of FileDeleteRecursiveTest
File
-
core/
tests/ Drupal/ KernelTests/ Core/ File/ FileDeleteRecursiveTest.php, line 10
Namespace
Drupal\KernelTests\Core\FileView source
class FileDeleteRecursiveTest extends FileTestBase {
/**
* Delete a normal file.
*/
public function testSingleFile() {
// Create a file for testing
$filepath = 'public://' . $this->randomMachineName();
file_put_contents($filepath, '');
// Delete the file.
$this->assertTrue(\Drupal::service('file_system')->deleteRecursive($filepath), 'Function reported success.');
$this->assertFileDoesNotExist($filepath);
}
/**
* Try deleting an empty directory.
*/
public function testEmptyDirectory() {
// A directory to operate on.
$directory = $this->createDirectory();
// Delete the directory.
$this->assertTrue(\Drupal::service('file_system')->deleteRecursive($directory), 'Function reported success.');
$this->assertDirectoryDoesNotExist($directory);
}
/**
* Try deleting a directory with some files.
*/
public function testDirectory() {
// A directory to operate on.
$directory = $this->createDirectory();
$filepathA = $directory . '/A';
$filepathB = $directory . '/B';
file_put_contents($filepathA, '');
file_put_contents($filepathB, '');
// Delete the directory.
$this->assertTrue(\Drupal::service('file_system')->deleteRecursive($directory), 'Function reported success.');
$this->assertFileDoesNotExist($filepathA);
$this->assertFileDoesNotExist($filepathB);
$this->assertDirectoryDoesNotExist($directory);
}
/**
* Try deleting subdirectories with some files.
*/
public function testSubDirectory() {
// A directory to operate on.
$directory = $this->createDirectory();
$subdirectory = $this->createDirectory($directory . '/sub');
$filepathA = $directory . '/A';
$filepathB = $subdirectory . '/B';
file_put_contents($filepathA, '');
file_put_contents($filepathB, '');
// Delete the directory.
$this->assertTrue(\Drupal::service('file_system')->deleteRecursive($directory), 'Function reported success.');
$this->assertFileDoesNotExist($filepathA);
$this->assertFileDoesNotExist($filepathB);
$this->assertDirectoryDoesNotExist($subdirectory);
$this->assertDirectoryDoesNotExist($directory);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.