Warn identical names w/ different capitalization - extract zip archive
Warn about identical names with different capitalization on zip archive extract failure (Not a directory) Issue #5938pull/4865/merge
parent
ff61ecd484
commit
8858b27ced
|
@ -156,6 +156,8 @@ class ZipDownloader extends ArchiveDownloader
|
||||||
} else {
|
} else {
|
||||||
$processError = new \UnexpectedValueException(rtrim($this->getErrorMessage($retval, $file)."\n"), $retval);
|
$processError = new \UnexpectedValueException(rtrim($this->getErrorMessage($retval, $file)."\n"), $retval);
|
||||||
}
|
}
|
||||||
|
} catch (\ErrorException $ex) {
|
||||||
|
$processError = new \ErrorException('Archive may contain identical directory or file name with different capitalization (fails on case insensitive filesystems)');
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
$processError = $e;
|
$processError = $e;
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,6 +127,28 @@ class ZipDownloaderTest extends TestCase
|
||||||
$downloader->extract('testfile.zip', 'vendor/dir');
|
$downloader->extract('testfile.zip', 'vendor/dir');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException \ErrorException
|
||||||
|
* @expectedExceptionMessage Archive may contain identical directory or file name with different capitalization (fails on case insensitive filesystems)
|
||||||
|
*/
|
||||||
|
public function testZipArchiveExtractOnlyFailed()
|
||||||
|
{
|
||||||
|
$this->setPrivateProperty('hasSystemUnzip', false);
|
||||||
|
$this->setPrivateProperty('hasZipArchive', true);
|
||||||
|
$downloader = new MockedZipDownloader($this->io, $this->config);
|
||||||
|
|
||||||
|
$zipArchive = $this->getMock('ZipArchive');
|
||||||
|
$zipArchive->expects($this->at(0))
|
||||||
|
->method('open')
|
||||||
|
->will($this->returnValue(true));
|
||||||
|
$zipArchive->expects($this->at(1))
|
||||||
|
->method('extractTo')
|
||||||
|
->will($this->throwException(new \ErrorException('Not a directory')));
|
||||||
|
|
||||||
|
$this->setPrivateProperty('zipArchiveObject', $zipArchive, $downloader);
|
||||||
|
$downloader->extract('testfile.zip', 'vendor/dir');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @group only
|
* @group only
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue