15 $this->createPartialMock(\Composer\Console\Application::class, [
'setAutoExit',
'resetComposer',
'run']);
17 $directoryList->expects($this->exactly(2))->method(
'getRoot');
18 $composerApp->expects($this->once())->method(
'setAutoExit')->with(
false);
20 $composerApp->expects($this->at(2))->method(
'run')->willReturnCallback(
21 function ($input, $buffer) {
22 $output =
'magento/package-b requires magento/package-a (1.0)' . PHP_EOL .
23 'magento/project-community-edition requires magento/package-a (1.0)' . PHP_EOL .
24 'magento/package-c requires magento/package-a (1.0)' . PHP_EOL;
28 $composerApp->expects($this->at(4))->method(
'run')->willReturnCallback(
29 function ($input, $buffer) {
30 $output =
'magento/package-c requires magento/package-b (1.0)' . PHP_EOL .
31 'magento/project-community-edition requires magento/package-a (1.0)' . PHP_EOL .
32 'magento/package-d requires magento/package-b (1.0)' . PHP_EOL;
39 'magento/package-a' => [
'magento/package-b',
'magento/package-c'],
40 'magento/package-b' => [
'magento/package-c',
'magento/package-d'],
44 $dependencyChecker->checkDependencies([
'magento/package-a',
'magento/package-b'])
51 $this->createPartialMock(\Composer\Console\Application::class, [
'setAutoExit',
'resetComposer',
'run']);
53 $directoryList->expects($this->exactly(3))->method(
'getRoot');
54 $composerApp->expects($this->once())->method(
'setAutoExit')->with(
false);
56 $composerApp->expects($this->at(2))->method(
'run')->willReturnCallback(
57 function ($input, $buffer) {
58 $output =
'magento/package-b requires magento/package-a (1.0)' . PHP_EOL .
59 'magento/project-community-edition requires magento/package-a (1.0)' . PHP_EOL .
60 'magento/package-c requires magento/package-a (1.0)' . PHP_EOL;
64 $composerApp->expects($this->at(4))->method(
'run')->willReturnCallback(
65 function ($input, $buffer) {
66 $output =
'magento/package-c requires magento/package-b (1.0)' . PHP_EOL .
67 'magento/project-community-edition requires magento/package-a (1.0)' . PHP_EOL .
68 'magento/package-d requires magento/package-b (1.0)' . PHP_EOL;
72 $composerApp->expects($this->at(6))->method(
'run')->willReturnCallback(
73 function ($input, $buffer) {
74 $output =
'magento/package-d requires magento/package-c (1.0)' . PHP_EOL .
75 'magento/project-community-edition requires magento/package-a (1.0)' . PHP_EOL;
82 'magento/package-a' => [],
83 'magento/package-b' => [
'magento/package-d'],
84 'magento/package-c' => [
'magento/package-d'],
88 $dependencyChecker->checkDependencies(
89 [
'magento/package-a',
'magento/package-b',
'magento/package-c'],
testCheckDependenciesExcludeSelf()