protected function InPlaceUpdateTest::getDeletions in Automatic Updates 8
Helper method to retrieve files slated for deletion.
3 calls to InPlaceUpdateTest::getDeletions()
- InPlaceUpdateTest::assertCoreUpgradeFailed in tests/src/ Build/ InPlaceUpdateTest.php 
- Assert an upgraded failed and was handle appropriately.
- InPlaceUpdateTest::assertCoreUpgradeSuccess in tests/src/ Build/ InPlaceUpdateTest.php 
- Assert an upgrade succeeded.
- InPlaceUpdateTest::testContribUpdate in tests/src/ Build/ InPlaceUpdateTest.php 
- @covers ::update @dataProvider contribProjectsProvider
File
- tests/src/ Build/ InPlaceUpdateTest.php, line 218 
Class
- InPlaceUpdateTest
- @coversDefaultClass \Drupal\automatic_updates\Services\InPlaceUpdate
Namespace
Drupal\Tests\automatic_updates\BuildCode
protected function getDeletions($project, $from_version, $to_version) {
  if (isset($this->deletions)) {
    return $this->deletions;
  }
  $this->deletions = [];
  $filesystem = new SymfonyFilesystem();
  $this->deletionsDestination = DrupalFileSystem::getOsTemporaryDirectory() . DIRECTORY_SEPARATOR . "{$project}-" . mt_rand(10000, 99999) . microtime(TRUE);
  $filesystem
    ->mkdir($this->deletionsDestination);
  $file_name = "{$project}-{$from_version}-to-{$to_version}.zip";
  $zip_file = $this->deletionsDestination . DIRECTORY_SEPARATOR . $file_name;
  $this
    ->doGetArchive($project, $file_name, $zip_file);
  $zip = new \ZipArchive();
  $zip
    ->open($zip_file);
  $zip
    ->extractTo($this->deletionsDestination, [
    InPlaceUpdate::DELETION_MANIFEST,
  ]);
  $handle = fopen($this->deletionsDestination . DIRECTORY_SEPARATOR . InPlaceUpdate::DELETION_MANIFEST, 'r');
  if ($handle) {
    while (($deletion = fgets($handle)) !== FALSE) {
      if ($result = trim($deletion)) {
        $this->deletions[] = $result;
      }
    }
    fclose($handle);
  }
  return $this->deletions;
}