Update testsuite for Generator, simplify service provider and mock (#1635)

* Add templates to Eloquent

* Test generator, update constructor

* composer fix-style

* Add filename test

* UPdate test

---------

Co-authored-by: laravel-ide-helper <[email protected]>
This commit is contained in:
Barry vd. Heuvel
2024-12-28 19:56:36 +01:00
committed by GitHub
co-authored by laravel-ide-helper
parent c33eacdefc
commit 14fdb572bb
10 changed files with 45457 additions and 60 deletions
+6 -1
View File
@@ -81,7 +81,12 @@ class Alias
$this->detectExtendsNamespace();
if (!empty($this->namespace)) {
$this->classAliases = (new UsesResolver())->loadFromClass($this->root);
try {
$this->classAliases = (new UsesResolver())->loadFromClass($this->root);
} catch (Throwable $e) {
$this->classAliases = [];
}
//Create a DocBlock and serializer instance
$this->phpdoc = new DocBlock(new ReflectionClass($alias), new Context($this->namespace, $this->classAliases));
+6 -6
View File
@@ -14,7 +14,9 @@ namespace Barryvdh\LaravelIdeHelper\Console;
use Barryvdh\LaravelIdeHelper\Eloquent;
use Barryvdh\LaravelIdeHelper\Generator;
use Illuminate\Console\Command;
use Illuminate\Contracts\Config\Repository;
use Illuminate\Filesystem\Filesystem;
use Illuminate\View\Factory;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
@@ -45,7 +47,7 @@ class GeneratorCommand extends Command
/** @var Filesystem */
protected $files;
/** @var \Illuminate\View\Factory */
/** @var Factory */
protected $view;
protected $onlyExtend;
@@ -55,14 +57,12 @@ class GeneratorCommand extends Command
*
* @param \Illuminate\Config\Repository $config
* @param Filesystem $files
* @param \Illuminate\View\Factory $view
* @param Factory $view
*/
public function __construct(
/*ConfigRepository */
$config,
Repository $config,
Filesystem $files,
/* Illuminate\View\Factory */
$view
Factory $view
) {
$this->config = $config;
$this->files = $files;
+13 -7
View File
@@ -13,6 +13,9 @@ namespace Barryvdh\LaravelIdeHelper\Console;
use Barryvdh\LaravelIdeHelper\Factories;
use Illuminate\Console\Command;
use Illuminate\Contracts\Config\Repository;
use Illuminate\Contracts\View\Factory;
use Illuminate\Filesystem\Filesystem;
use RuntimeException;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
@@ -41,10 +44,10 @@ class MetaCommand extends Command
/** @var \Illuminate\Contracts\Filesystem\Filesystem */
protected $files;
/** @var \Illuminate\Contracts\View\Factory */
/** @var Factory */
protected $view;
/** @var \Illuminate\Contracts\Config\Repository */
/** @var Repository */
protected $config;
protected $methods = [
@@ -63,12 +66,15 @@ class MetaCommand extends Command
/**
*
* @param \Illuminate\Contracts\Filesystem\Filesystem $files
* @param \Illuminate\Contracts\View\Factory $view
* @param \Illuminate\Contracts\Config\Repository $config
* @param Filesystem $files
* @param Factory $view
* @param Repository $config
*/
public function __construct($files, $view, $config)
{
public function __construct(
Filesystem $files,
Factory $view,
Repository $config
) {
$this->files = $files;
$this->view = $view;
$this->config = $config;
+17 -33
View File
@@ -64,41 +64,20 @@ class IdeHelperServiceProvider extends ServiceProvider implements DeferrableProv
{
$configPath = __DIR__ . '/../config/ide-helper.php';
$this->mergeConfigFrom($configPath, 'ide-helper');
$localViewFactory = $this->createLocalViewFactory();
$this->app->singleton(
'command.ide-helper.generate',
function ($app) use ($localViewFactory) {
return new GeneratorCommand($app['config'], $app['files'], $localViewFactory);
}
);
$this->app->singleton(
'command.ide-helper.models',
function ($app) {
return new ModelsCommand($app['files']);
}
);
$this->app->singleton(
'command.ide-helper.meta',
function ($app) use ($localViewFactory) {
return new MetaCommand($app['files'], $localViewFactory, $app['config']);
}
);
$this->app->singleton(
'command.ide-helper.eloquent',
function ($app) {
return new EloquentCommand($app['files']);
}
);
$this->app->when([GeneratorCommand::class, MetaCommand::class])
->needs(\Illuminate\Contracts\View\Factory::class)
->give(function () {
return $this->createLocalViewFactory();
});
$this->commands(
'command.ide-helper.generate',
'command.ide-helper.models',
'command.ide-helper.meta',
'command.ide-helper.eloquent'
[
GeneratorCommand::class,
ModelsCommand::class,
MetaCommand::class,
EloquentCommand::class,
]
);
}
@@ -109,7 +88,12 @@ class IdeHelperServiceProvider extends ServiceProvider implements DeferrableProv
*/
public function provides()
{
return ['command.ide-helper.generate', 'command.ide-helper.models'];
return [
GeneratorCommand::class,
ModelsCommand::class,
MetaCommand::class,
EloquentCommand::class,
];
}
/**