Example #1
0
 /**
  * Проверяем работу предохранителя в рекурсивном удалении каталогов
  *
  * Явно нарушаем условия успешного выполнения метода, ожидаем исключение. При этом удаление не должно быть
  * выполнено.
  */
 public function test_fuse_removeDir()
 {
     $this->expectException(FSException::class);
     $dirLevel4 = vfsStream::newDirectory('level4')->at($this->root->getChild('level1/level2/level3'));
     vfsStream::newFile('level4.txt')->withContent('level 4 from [delIt/], but 5 from the root path')->at($dirLevel4);
     $deepestChild = 'level1/level2/level3/level4/level4.txt';
     $this->assertTrue($this->root->hasChild($deepestChild), 'Проверка предохранителя. Структура каталогов и файлов создана');
     FS::removeDir($this->rootPath . '/level1', 3);
     $this->assertTrue($this->root->hasChild($deepestChild), 'Проверка предохранителя. Реальная вложенность больше заданной. Удаление не выполнено');
     FS::removeDir($this->rootPath, 5);
     // от корня вложенность - 5, превышает допустимый максимум
     $this->assertTrue($this->root->hasChild($deepestChild), 'Проверка предохранителя. Требуемая вложенность больше максимально допустимой. Удаление не выполнено');
 }