|
|
|
@ -44,4 +44,175 @@ class AbstractCommandTest extends BaseTest
|
|
|
|
|
$configMock = $this->getMock('Mage\Config'); |
|
|
|
|
$this->doTestGetter($this->abstractCommand, 'config', $configMock); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function infoMessageProvider() |
|
|
|
|
{ |
|
|
|
|
return [ |
|
|
|
|
'happy_path' => [ |
|
|
|
|
'helpMessage' => 'This command does everything you want to', |
|
|
|
|
'examples' => [ |
|
|
|
|
[ |
|
|
|
|
'snippet' => 'mage example', |
|
|
|
|
'description' => 'Default command' |
|
|
|
|
], |
|
|
|
|
[ |
|
|
|
|
'snippet' => 'mage example light', |
|
|
|
|
'description' => 'Runs the command with lights' |
|
|
|
|
] |
|
|
|
|
], |
|
|
|
|
'syntax' => 'mage example [light]', |
|
|
|
|
'output' => "\n" |
|
|
|
|
. "This command does everything you want to\n" |
|
|
|
|
. "\n" |
|
|
|
|
. "Syntax:\n" |
|
|
|
|
. " mage example [light]\n" |
|
|
|
|
. "\n" |
|
|
|
|
. "Usage examples:\n" |
|
|
|
|
. " * Default command:\n" |
|
|
|
|
. " mage example\n" |
|
|
|
|
. " * Runs the command with lights:\n" |
|
|
|
|
. " mage example light\n" |
|
|
|
|
], |
|
|
|
|
'no_help_message' => [ |
|
|
|
|
'helpMessage' => '', |
|
|
|
|
'examples' => [ |
|
|
|
|
[ |
|
|
|
|
'snippet' => 'mage example', |
|
|
|
|
'description' => 'Default command' |
|
|
|
|
], |
|
|
|
|
[ |
|
|
|
|
'snippet' => 'mage example light', |
|
|
|
|
'description' => 'Runs the command with lights' |
|
|
|
|
] |
|
|
|
|
], |
|
|
|
|
'syntax' => 'mage example [light]', |
|
|
|
|
'output' => "\n" |
|
|
|
|
. "Syntax:\n" |
|
|
|
|
. " mage example [light]\n" |
|
|
|
|
. "\n" |
|
|
|
|
. "Usage examples:\n" |
|
|
|
|
. " * Default command:\n" |
|
|
|
|
. " mage example\n" |
|
|
|
|
. " * Runs the command with lights:\n" |
|
|
|
|
. " mage example light\n" |
|
|
|
|
], |
|
|
|
|
'no_examples' => [ |
|
|
|
|
'helpMessage' => 'This command does everything you want to', |
|
|
|
|
'examples' => [], |
|
|
|
|
'syntax' => 'mage example [light]', |
|
|
|
|
'output' => "\n" |
|
|
|
|
. "This command does everything you want to\n" |
|
|
|
|
. "\n" |
|
|
|
|
. "Syntax:\n" |
|
|
|
|
. " mage example [light]\n" |
|
|
|
|
], |
|
|
|
|
"no_syntax" => [ |
|
|
|
|
'helpMessage' => 'This command does everything you want to', |
|
|
|
|
'examples' => [ |
|
|
|
|
[ |
|
|
|
|
'snippet' => 'mage example', |
|
|
|
|
'description' => 'Default command' |
|
|
|
|
], |
|
|
|
|
[ |
|
|
|
|
'snippet' => 'mage example light', |
|
|
|
|
'description' => 'Runs the command with lights' |
|
|
|
|
] |
|
|
|
|
], |
|
|
|
|
'syntax' => '', |
|
|
|
|
'output' => "\n" |
|
|
|
|
. "This command does everything you want to\n" |
|
|
|
|
. "\n" |
|
|
|
|
. "Usage examples:\n" |
|
|
|
|
. " * Default command:\n" |
|
|
|
|
. " mage example\n" |
|
|
|
|
. " * Runs the command with lights:\n" |
|
|
|
|
. " mage example light\n" |
|
|
|
|
], |
|
|
|
|
"stripping_colons" => [ |
|
|
|
|
'helpMessage' => 'This command does everything you want to', |
|
|
|
|
'examples' => [ |
|
|
|
|
[ |
|
|
|
|
'snippet' => 'mage example', |
|
|
|
|
'description' => 'Default command:' |
|
|
|
|
], |
|
|
|
|
[ |
|
|
|
|
'snippet' => 'mage example light', |
|
|
|
|
'description' => 'Runs the command with lights:' |
|
|
|
|
] |
|
|
|
|
], |
|
|
|
|
'syntax' => 'mage example [light]', |
|
|
|
|
'output' => "\n" |
|
|
|
|
. "This command does everything you want to\n" |
|
|
|
|
. "\n" |
|
|
|
|
. "Syntax:\n" |
|
|
|
|
. " mage example [light]\n" |
|
|
|
|
. "\n" |
|
|
|
|
. "Usage examples:\n" |
|
|
|
|
. " * Default command:\n" |
|
|
|
|
. " mage example\n" |
|
|
|
|
. " * Runs the command with lights:\n" |
|
|
|
|
. " mage example light\n" |
|
|
|
|
], |
|
|
|
|
"only_help" => [ |
|
|
|
|
'helpMessage' => 'This command does everything you want to', |
|
|
|
|
'examples' => [], |
|
|
|
|
'syntax' => '', |
|
|
|
|
'output' => "\n" |
|
|
|
|
. "This command does everything you want to\n" |
|
|
|
|
], |
|
|
|
|
"only_examples" => [ |
|
|
|
|
'helpMessage' => '', |
|
|
|
|
'examples' => [ |
|
|
|
|
[ |
|
|
|
|
'snippet' => 'mage example', |
|
|
|
|
'description' => 'Default command' |
|
|
|
|
], |
|
|
|
|
[ |
|
|
|
|
'snippet' => 'mage example light', |
|
|
|
|
'description' => 'Runs the command with lights' |
|
|
|
|
] |
|
|
|
|
], |
|
|
|
|
'syntax' => '', |
|
|
|
|
'output' => "\n" |
|
|
|
|
. "Usage examples:\n" |
|
|
|
|
. " * Default command:\n" |
|
|
|
|
. " mage example\n" |
|
|
|
|
. " * Runs the command with lights:\n" |
|
|
|
|
. " mage example light\n" |
|
|
|
|
], |
|
|
|
|
"only_syntax" => [ |
|
|
|
|
'helpMessage' => '', |
|
|
|
|
'examples' => [], |
|
|
|
|
'syntax' => 'mage example [light]', |
|
|
|
|
'output' => "\n" |
|
|
|
|
. "Syntax:\n" |
|
|
|
|
. " mage example [light]\n" |
|
|
|
|
] |
|
|
|
|
]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @covers ::getInfoMessage |
|
|
|
|
* @covers ::setHelpMessage |
|
|
|
|
* @covers ::addUsageExample |
|
|
|
|
* @covers ::setSyntaxMessage |
|
|
|
|
* |
|
|
|
|
* @dataProvider infoMessageProvider |
|
|
|
|
*/ |
|
|
|
|
public function testGetInfoMessage($helpMessage, $examples, $syntax, $expectedMessage) |
|
|
|
|
{ |
|
|
|
|
/** @var AbstractCommand $command */ |
|
|
|
|
$command = $this->getMockForAbstractClass('Mage\Command\AbstractCommand'); |
|
|
|
|
|
|
|
|
|
foreach ($examples as $example) { |
|
|
|
|
$command->addUsageExample($example['snippet'], $example['description']); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$command->setHelpMessage($helpMessage); |
|
|
|
|
$command->setSyntaxMessage($syntax); |
|
|
|
|
|
|
|
|
|
$actualMessage = $command->getInfoMessage(); |
|
|
|
|
$this->assertEquals($expectedMessage, $actualMessage); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|