1
0
Fork 0
mirror of https://github.com/composer/composer synced 2025-05-09 00:22:53 +00:00

Made the constraint argument in Link mandatory

This commit is contained in:
Yanick Witschi 2020-05-01 20:32:17 +02:00 committed by Jordi Boggiano
parent 63906171f0
commit bde9502473
No known key found for this signature in database
GPG key ID: 7BBD42C429EC80BC
6 changed files with 59 additions and 55 deletions

View file

@ -16,6 +16,7 @@ use Composer\Autoload\AutoloadGenerator;
use Composer\Package\Link;
use Composer\Package\Version\VersionParser;
use Composer\Semver\Constraint\Constraint;
use Composer\Semver\Constraint\EmptyConstraint;
use Composer\Util\Filesystem;
use Composer\Package\AliasPackage;
use Composer\Package\Package;
@ -366,8 +367,8 @@ class AutoloadGeneratorTest extends TestCase
{
$package = new Package('a', '1.0', '1.0');
$package->setRequires(array(
new Link('a', 'a/a'),
new Link('a', 'b/b'),
new Link('a', 'a/a', new EmptyConstraint()),
new Link('a', 'b/b', new EmptyConstraint()),
));
$packages = array();
@ -395,7 +396,7 @@ class AutoloadGeneratorTest extends TestCase
{
$package = new Package('a', '1.0', '1.0');
$package->setRequires(array(
new Link('a', 'a/a'),
new Link('a', 'a/a', new EmptyConstraint()),
));
$packages = array();
@ -403,11 +404,11 @@ class AutoloadGeneratorTest extends TestCase
$packages[] = $b = new Package('b/b', '1.0', '1.0');
$a->setAutoload(array('psr-0' => array('A' => 'src/', 'A\\B' => 'lib/')));
$a->setRequires(array(
new Link('a/a', 'b/b'),
new Link('a/a', 'b/b', new EmptyConstraint()),
));
$b->setAutoload(array('psr-0' => array('B\\Sub\\Name' => 'src/')));
$b->setRequires(array(
new Link('b/b', 'a/a'),
new Link('b/b', 'a/a', new EmptyConstraint()),
));
$this->repository->expects($this->once())
@ -427,13 +428,13 @@ class AutoloadGeneratorTest extends TestCase
public function testNonDevAutoloadShouldIncludeReplacedPackages()
{
$package = new Package('a', '1.0', '1.0');
$package->setRequires(array(new Link('a', 'a/a')));
$package->setRequires(array(new Link('a', 'a/a', new EmptyConstraint())));
$packages = array();
$packages[] = $a = new Package('a/a', '1.0', '1.0');
$packages[] = $b = new Package('b/b', '1.0', '1.0');
$a->setRequires(array(new Link('a/a', 'b/c')));
$a->setRequires(array(new Link('a/a', 'b/c', new EmptyConstraint())));
$b->setAutoload(array('psr-4' => array('B\\' => 'src/')));
$b->setReplaces(
@ -462,7 +463,7 @@ class AutoloadGeneratorTest extends TestCase
{
$package = new Package('a', '1.0', '1.0');
$package->setRequires(array(
new Link('a', 'a/a'),
new Link('a', 'a/a', new EmptyConstraint()),
));
$packages = array();
@ -470,11 +471,11 @@ class AutoloadGeneratorTest extends TestCase
$packages[] = $b = new Package('b/b', '1.0', '1.0');
$a->setAutoload(array('psr-0' => array('A' => 'src/', 'A\\B' => 'lib/')));
$a->setRequires(array(
new Link('a/a', 'c/c'),
new Link('a/a', 'c/c', new EmptyConstraint()),
));
$b->setAutoload(array('psr-0' => array('B\\Sub\\Name' => 'src/')));
$b->setReplaces(array(
new Link('b/b', 'c/c'),
new Link('b/b', 'c/c', new EmptyConstraint()),
));
$this->repository->expects($this->once())
@ -495,7 +496,7 @@ class AutoloadGeneratorTest extends TestCase
{
$package = new Package('a', '1.0', '1.0');
$package->setRequires(array(
new Link('a', 'a/a')
new Link('a', 'a/a', new EmptyConstraint())
));
$packages = array();
@ -506,18 +507,18 @@ class AutoloadGeneratorTest extends TestCase
$packages[] = $e = new Package('e/e', '1.0', '1.0');
$a->setAutoload(array('classmap' => array('src/A.php')));
$a->setRequires(array(
new Link('a/a', 'b/b')
new Link('a/a', 'b/b', new EmptyConstraint())
));
$b->setAutoload(array('classmap' => array('src/B.php')));
$b->setRequires(array(
new Link('b/b', 'e/e')
new Link('b/b', 'e/e', new EmptyConstraint())
));
$c->setAutoload(array('classmap' => array('src/C.php')));
$c->setReplaces(array(
new Link('c/c', 'b/b')
new Link('c/c', 'b/b', new EmptyConstraint())
));
$c->setRequires(array(
new Link('c/c', 'd/d')
new Link('c/c', 'd/d', new EmptyConstraint())
));
$d->setAutoload(array('classmap' => array('src/D.php')));
$e->setAutoload(array('classmap' => array('src/E.php')));
@ -547,7 +548,7 @@ class AutoloadGeneratorTest extends TestCase
{
$package = new Package('a', '1.0', '1.0');
$package->setRequires(array(
new Link('a', 'a/a'),
new Link('a', 'a/a', new EmptyConstraint()),
));
$package->setAutoload(array(
@ -652,8 +653,8 @@ EOF;
{
$package = new Package('a', '1.0', '1.0');
$package->setRequires(array(
new Link('a', 'a/a'),
new Link('a', 'b/b'),
new Link('a', 'a/a', new EmptyConstraint()),
new Link('a', 'b/b', new EmptyConstraint()),
));
$packages = array();
@ -692,8 +693,8 @@ EOF;
{
$package = new Package('a', '1.0', '1.0');
$package->setRequires(array(
new Link('a', 'a/a'),
new Link('a', 'b/b'),
new Link('a', 'a/a', new EmptyConstraint()),
new Link('a', 'b/b', new EmptyConstraint()),
));
$packages = array();
@ -732,9 +733,9 @@ EOF;
{
$package = new Package('a', '1.0', '1.0');
$package->setRequires(array(
new Link('a', 'a/a'),
new Link('a', 'b/b'),
new Link('a', 'c/c'),
new Link('a', 'a/a', new EmptyConstraint()),
new Link('a', 'b/b', new EmptyConstraint()),
new Link('a', 'c/c', new EmptyConstraint()),
));
$packages = array();
@ -777,9 +778,9 @@ EOF;
{
$package = new Package('a', '1.0', '1.0');
$package->setRequires(array(
new Link('a', 'a/a'),
new Link('a', 'b/b'),
new Link('a', 'c/c'),
new Link('a', 'a/a', new EmptyConstraint()),
new Link('a', 'b/b', new EmptyConstraint()),
new Link('a', 'c/c', new EmptyConstraint()),
));
$packages = array();
@ -827,9 +828,9 @@ EOF;
$package = new Package('a', '1.0', '1.0');
$package->setAutoload(array('files' => array('root.php')));
$package->setRequires(array(
new Link('a', 'a/a'),
new Link('a', 'b/b'),
new Link('a', 'c/c'),
new Link('a', 'a/a', new EmptyConstraint()),
new Link('a', 'b/b', new EmptyConstraint()),
new Link('a', 'c/c', new EmptyConstraint()),
));
$packages = array();
@ -878,9 +879,9 @@ EOF;
$notAutoloadPackage = new Package('a', '1.0', '1.0');
$requires = array(
new Link('a', 'a/a'),
new Link('a', 'b/b'),
new Link('a', 'c/c'),
new Link('a', 'a/a', new EmptyConstraint()),
new Link('a', 'b/b', new EmptyConstraint()),
new Link('a', 'c/c', new EmptyConstraint()),
);
$autoloadPackage->setRequires($requires);
$notAutoloadPackage->setRequires($requires);
@ -949,10 +950,10 @@ EOF;
$package = new Package('a', '1.0', '1.0');
$package->setAutoload(array('files' => array('root2.php')));
$package->setRequires(array(
new Link('a', 'z/foo'),
new Link('a', 'b/bar'),
new Link('a', 'd/d'),
new Link('a', 'e/e'),
new Link('a', 'z/foo', new EmptyConstraint()),
new Link('a', 'b/bar', new EmptyConstraint()),
new Link('a', 'd/d', new EmptyConstraint()),
new Link('a', 'e/e', new EmptyConstraint()),
));
$packages = array();
@ -963,18 +964,18 @@ EOF;
$packages[] = $e = new Package('e/e', '1.0', '1.0');
$z->setAutoload(array('files' => array('testA.php')));
$z->setRequires(array(new Link('z/foo', 'c/lorem')));
$z->setRequires(array(new Link('z/foo', 'c/lorem', new EmptyConstraint())));
$b->setAutoload(array('files' => array('testB.php')));
$b->setRequires(array(new Link('b/bar', 'c/lorem'), new Link('b/bar', 'd/d')));
$b->setRequires(array(new Link('b/bar', 'c/lorem', new EmptyConstraint()), new Link('b/bar', 'd/d', new EmptyConstraint())));
$c->setAutoload(array('files' => array('testC.php')));
$d->setAutoload(array('files' => array('testD.php')));
$d->setRequires(array(new Link('d/d', 'c/lorem')));
$d->setRequires(array(new Link('d/d', 'c/lorem', new EmptyConstraint())));
$e->setAutoload(array('files' => array('testE.php')));
$e->setRequires(array(new Link('e/e', 'c/lorem')));
$e->setRequires(array(new Link('e/e', 'c/lorem', new EmptyConstraint())));
$this->repository->expects($this->once())
->method('getCanonicalPackages')
@ -1022,8 +1023,8 @@ EOF;
'classmap' => array($this->workingDir.'/src'),
));
$mainPackage->setRequires(array(
new Link('z', 'a/a'),
new Link('z', 'b/b'),
new Link('z', 'a/a', new EmptyConstraint()),
new Link('z', 'b/b', new EmptyConstraint()),
));
$packages = array();
@ -1285,7 +1286,7 @@ EOF;
'files' => array('test.php'),
));
$package->setRequires(array(
new Link('a', 'b/b'),
new Link('a', 'b/b', new EmptyConstraint()),
));
$vendorPackage = new Package('b/b', '1.0', '1.0');