From 8d7e5cdda5f531a6816e144eedf7262cd698eed1 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Wed, 19 Sep 2012 11:25:49 +0200 Subject: [PATCH] Fix target-dir with multiple slashes too --- src/Composer/Package/Package.php | 2 +- tests/Composer/Test/Package/CompletePackageTest.php | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Composer/Package/Package.php b/src/Composer/Package/Package.php index a57ea6c6e..cb985d2f4 100644 --- a/src/Composer/Package/Package.php +++ b/src/Composer/Package/Package.php @@ -118,7 +118,7 @@ class Package extends BasePackage return; } - return ltrim(preg_replace('{ (?:^|[\\\\/]) \.\.? (?:[\\\\/]|$) (?:\.\.? (?:[\\\\/]|$) )*}x', '/', $this->targetDir), '/'); + return ltrim(preg_replace('{ (?:^|[\\\\/]+) \.\.? (?:[\\\\/]+|$) (?:\.\.? (?:[\\\\/]+|$) )*}x', '/', $this->targetDir), '/'); } /** diff --git a/tests/Composer/Test/Package/CompletePackageTest.php b/tests/Composer/Test/Package/CompletePackageTest.php index f6faf505b..b6f90928c 100644 --- a/tests/Composer/Test/Package/CompletePackageTest.php +++ b/tests/Composer/Test/Package/CompletePackageTest.php @@ -94,5 +94,8 @@ class CompletePackageTest extends TestCase $package->setTargetDir('/foo/..'); $this->assertEquals('foo/', $package->getTargetDir()); + + $package->setTargetDir('/foo/..//bar'); + $this->assertEquals('foo/bar', $package->getTargetDir()); } }