mirror of
https://github.com/composer/composer
synced 2025-05-09 00:22:53 +00:00
Make sure Transaction sorts operations correctly to begin with
This commit is contained in:
parent
dc88236c07
commit
2d4e1e0dce
3 changed files with 55 additions and 2 deletions
|
@ -42,8 +42,28 @@ class TransactionTest extends TestCase
|
|||
$packageG = $this->getPackage('g/g', '1.0.0'),
|
||||
$packageA0first = $this->getPackage('a0/first', '1.2.3'),
|
||||
$packageFalias2 = $this->getAliasPackage($packageF, 'dev-bar'),
|
||||
$plugin = $this->getPackage('x/plugin', '1.0.0'),
|
||||
$plugin2Dep = $this->getPackage('x/plugin2-dep', '1.0.0'),
|
||||
$plugin2 = $this->getPackage('x/plugin2', '1.0.0'),
|
||||
$dlModifyingPlugin = $this->getPackage('x/downloads-modifying', '1.0.0'),
|
||||
$dlModifyingPlugin2Dep = $this->getPackage('x/downloads-modifying2-dep', '1.0.0'),
|
||||
$dlModifyingPlugin2 = $this->getPackage('x/downloads-modifying2', '1.0.0'),
|
||||
);
|
||||
|
||||
$plugin->setType('composer-installer');
|
||||
foreach (array($plugin2, $dlModifyingPlugin, $dlModifyingPlugin2) as $pluginPackage) {
|
||||
$pluginPackage->setType('composer-plugin');
|
||||
}
|
||||
|
||||
$plugin2->setRequires(array(
|
||||
'x/plugin2-dep' => new Link('x/plugin2', 'x/plugin2-dep', $this->getVersionConstraint('=', '1.0.0'), Link::TYPE_REQUIRE),
|
||||
));
|
||||
$dlModifyingPlugin2->setRequires(array(
|
||||
'x/downloads-modifying2-dep' => new Link('x/downloads-modifying2', 'x/downloads-modifying2-dep', $this->getVersionConstraint('=', '1.0.0'), Link::TYPE_REQUIRE),
|
||||
));
|
||||
$dlModifyingPlugin->setExtra(array('plugin-modifies-downloads' => true));
|
||||
$dlModifyingPlugin2->setExtra(array('plugin-modifies-downloads' => true));
|
||||
|
||||
$packageD->setRequires(array(
|
||||
'f/f' => new Link('d/d', 'f/f', $this->getVersionConstraint('>', '0.2'), Link::TYPE_REQUIRE),
|
||||
'g/provider' => new Link('d/d', 'g/provider', $this->getVersionConstraint('>', '0.2'), Link::TYPE_REQUIRE),
|
||||
|
@ -54,6 +74,12 @@ class TransactionTest extends TestCase
|
|||
array('job' => 'uninstall', 'package' => $packageC),
|
||||
array('job' => 'uninstall', 'package' => $packageE),
|
||||
array('job' => 'markAliasUninstalled', 'package' => $packageEalias),
|
||||
array('job' => 'install', 'package' => $dlModifyingPlugin),
|
||||
array('job' => 'install', 'package' => $dlModifyingPlugin2Dep),
|
||||
array('job' => 'install', 'package' => $dlModifyingPlugin2),
|
||||
array('job' => 'install', 'package' => $plugin),
|
||||
array('job' => 'install', 'package' => $plugin2Dep),
|
||||
array('job' => 'install', 'package' => $plugin2),
|
||||
array('job' => 'install', 'package' => $packageA0first),
|
||||
array('job' => 'update', 'from' => $packageB, 'to' => $packageBnew),
|
||||
array('job' => 'install', 'package' => $packageG),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue