1
0
mirror of https://github.com/flarum/core.git synced 2025-07-30 21:20:24 +02:00

Add console extender (#2057)

* Made the console command system extender-friendly

* Added console extender

* Added ConsoleTestCase to integration tests

* Added integration tests for console extender

* Marked event-based console extension system as deprecated

* Moved trimming command output of whitespace into superclass

* Renamed 'add' to 'command'

* Added special processing for laravel commands

* Code style fixes

* More style fixes

* Fixed $this->container
This commit is contained in:
Alexander Skvortsov
2020-04-03 13:38:54 -04:00
committed by GitHub
parent 03a4997a1c
commit 345ad4bc6d
8 changed files with 204 additions and 15 deletions

View File

@@ -0,0 +1,65 @@
<?php
/*
* This file is part of Flarum.
*
* For detailed copyright and license information, please view the
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\Tests\integration\extenders;
use Flarum\Console\AbstractCommand;
use Flarum\Extend;
use Flarum\Tests\integration\ConsoleTestCase;
class ConsoleTest extends ConsoleTestCase
{
/**
* @test
*/
public function custom_command_doesnt_exist_by_default()
{
$input = [
'command' => 'customTestCommand'
];
$this->assertEquals('Command "customTestCommand" is not defined.', $this->runCommand($input));
}
/**
* @test
*/
public function custom_command_exists_when_added()
{
$this->extend(
(new Extend\Console())
->command(CustomCommand::class)
);
$input = [
'command' => 'customTestCommand'
];
$this->assertEquals('Custom Command.', $this->runCommand($input));
}
}
class CustomCommand extends AbstractCommand
{
/**
* {@inheritdoc}
*/
protected function configure()
{
$this->setName('customTestCommand');
}
/**
* {@inheritdoc}
*/
protected function fire()
{
$this->info('Custom Command.');
}
}