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

Fixed topological sorting of packages in AutoloadGenerator

This commit is contained in:
Martin Hasoň 2012-12-14 15:01:48 +01:00
parent 51eca2cdfc
commit 03e355f063
4 changed files with 31 additions and 34 deletions

View file

@ -338,23 +338,26 @@ class AutoloadGeneratorTest extends TestCase
$package = new Package('a', '1.0', '1.0');
$package->setAutoload(array('files' => array('root.php')));
$package->setRequires(array(new Link('a', 'z/foo')));
$package->setRequires(array(new Link('a', 'd/d')));
$package->setRequires(array(new Link('a', 'e/e')));
$packages = array();
$packages[] = $z = new Package('z/foo', '1.0', '1.0');
$packages[] = $b = new Package('b/bar', '1.0', '1.0');
$packages[] = $c = new Package('c/lorem', '1.0', '1.0');
$packages[] = $d = new Package('d/d', '1.0', '1.0');
$packages[] = $c = new Package('c/lorem', '1.0', '1.0');
$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')));
$b->setAutoload(array('files' => array('testB.php')));
$b->setRequires(array(new Link('b/bar', 'c/lorem')));
$b->setRequires(array(new Link('b/bar', 'c/lorem'), new Link('b/bar', 'd/d')));
$c->setAutoload(array('files' => array('testC.php')));
$d->setAutoload(array('files' => array('testD.php')));
$d->setRequires(array(new Link('d/d', 'c/lorem')));
$e->setAutoload(array('files' => array('testE.php')));
$e->setRequires(array(new Link('e/e', 'c/lorem')));

View file

@ -40,10 +40,10 @@ class ComposerAutoloaderInitFilesAutoloadOrder
require $vendorDir . '/c/lorem/testC.php';
require $vendorDir . '/z/foo/testA.php';
require $baseDir . '/root.php';
require $vendorDir . '/b/bar/testB.php';
require $vendorDir . '/d/d/testD.php';
require $vendorDir . '/b/bar/testB.php';
require $vendorDir . '/e/e/testE.php';
require $baseDir . '/root.php';
return $loader;
}

View file

@ -38,9 +38,9 @@ class ComposerAutoloaderInitFilesAutoload
$loader->register();
require $baseDir . '/root.php';
require $vendorDir . '/a/a/test.php';
require $vendorDir . '/b/b/test2.php';
require $baseDir . '/root.php';
return $loader;
}