|
@@ -13,11 +13,16 @@
|
|
|
namespace Composer\Test\Package\Archiver;
|
|
|
|
|
|
use Composer\Factory;
|
|
|
+use Composer\Package\Archiver\ArchiveManager;
|
|
|
use Composer\Package\PackageInterface;
|
|
|
|
|
|
class ArchiveManagerTest extends ArchiverTest
|
|
|
{
|
|
|
+ /**
|
|
|
+ * @var ArchiveManager
|
|
|
+ */
|
|
|
protected $manager;
|
|
|
+
|
|
|
protected $targetDir;
|
|
|
|
|
|
public function setUp()
|
|
@@ -55,9 +60,41 @@ class ArchiveManagerTest extends ArchiverTest
|
|
|
unlink($target);
|
|
|
}
|
|
|
|
|
|
- protected function getTargetName(PackageInterface $package, $format)
|
|
|
+ public function testArchiveCustomFileName()
|
|
|
{
|
|
|
- $packageName = $this->manager->getPackageFilename($package);
|
|
|
+ $this->setupGitRepo();
|
|
|
+
|
|
|
+ $package = $this->setupPackage();
|
|
|
+
|
|
|
+ $fileName = "testArchiveName";
|
|
|
+
|
|
|
+ $this->manager->archive($package, 'tar', $this->targetDir, $fileName);
|
|
|
+
|
|
|
+ $target = $this->getTargetName($package, 'tar', $fileName);
|
|
|
+
|
|
|
+ $this->assertFileExists($target);
|
|
|
+
|
|
|
+ $tmppath = sys_get_temp_dir().'/composer_archiver/'.$this->manager->getPackageFilename($package);
|
|
|
+ $this->assertFileNotExists($tmppath);
|
|
|
+
|
|
|
+ unlink($target);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function testNonStringFileName() {
|
|
|
+ $this->setExpectedException("InvalidArgumentException");
|
|
|
+
|
|
|
+ $package = $this->setupPackage();
|
|
|
+
|
|
|
+ $this->manager->archive($package, 'tar', $this->targetDir, array());
|
|
|
+ }
|
|
|
+
|
|
|
+ protected function getTargetName(PackageInterface $package, $format, $fileName = null)
|
|
|
+ {
|
|
|
+ if(!is_null($fileName)) {
|
|
|
+ $packageName = $fileName;
|
|
|
+ } else {
|
|
|
+ $packageName = $this->manager->getPackageFilename($package);
|
|
|
+ }
|
|
|
$target = $this->targetDir.'/'.$packageName.'.'.$format;
|
|
|
|
|
|
return $target;
|