From a7f1605cdf487bed56a97487151517a7687c7e51 Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Mon, 4 Jun 2012 23:30:55 +0200 Subject: [PATCH] Add test for correct sorting when force installing deps --- .../Test/DependencyResolver/SolverTest.php | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/tests/Composer/Test/DependencyResolver/SolverTest.php b/tests/Composer/Test/DependencyResolver/SolverTest.php index 9fd301030..f1d270f90 100644 --- a/tests/Composer/Test/DependencyResolver/SolverTest.php +++ b/tests/Composer/Test/DependencyResolver/SolverTest.php @@ -118,6 +118,33 @@ class SolverTest extends TestCase )); } + public function testSolverInstallWithDepsInOrder() + { + $this->repo->addPackage($packageA = $this->getPackage('A', '1.0')); + $this->repo->addPackage($packageB = $this->getPackage('B', '1.0')); + $this->repo->addPackage($packageC = $this->getPackage('C', '1.0')); + + $packageB->setRequires(array( + new Link('B', 'A', $this->getVersionConstraint('>=', '1.0'), 'requires'), + new Link('B', 'C', $this->getVersionConstraint('>=', '1.0'), 'requires'), + )); + $packageC->setRequires(array( + new Link('C', 'A', $this->getVersionConstraint('>=', '1.0'), 'requires'), + )); + + $this->reposComplete(); + + $this->request->install('A'); + $this->request->install('B'); + $this->request->install('C'); + + $this->checkSolverResult(array( + array('job' => 'install', 'package' => $packageA), + array('job' => 'install', 'package' => $packageC), + array('job' => 'install', 'package' => $packageB), + )); + } + public function testSolverInstallInstalled() { $this->repoInstalled->addPackage($this->getPackage('A', '1.0'));