Skip to content

Commit

Permalink
Add tests for runner and tags
Browse files Browse the repository at this point in the history
  • Loading branch information
jfilla committed Oct 17, 2019
1 parent 0454de0 commit 7322861
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 6 deletions.
5 changes: 1 addition & 4 deletions src/DIServiceAnnotation/Runner.php
Expand Up @@ -10,10 +10,7 @@ final class Runner

use StaticClass;

/**
* @param Configuration[] $configurations
*/
public static function run(array ...$configurations): void
public static function run(Configuration ...$configurations): void
{
AnnotationRegistry::registerLoader('class_exists');
foreach ($configurations as $configuration) {
Expand Down
3 changes: 2 additions & 1 deletion tests/DIServiceAnnotationTests/ExtractServicesTest.php
Expand Up @@ -8,6 +8,7 @@
use Wavevision\DIServiceAnnotation\Configuration;
use Wavevision\DIServiceAnnotation\ExtractServices;
use Wavevision\DIServiceAnnotation\InvalidState;
use Wavevision\Utils\Path;

class ExtractServicesTest extends TestCase
{
Expand Down Expand Up @@ -93,7 +94,7 @@ private function path(string ...$parts): string
{
$p = [__DIR__];
array_push($p, ...$parts);
return join('/', $p);
return Path::join(...$p);
}

}
24 changes: 24 additions & 0 deletions tests/DIServiceAnnotationTests/RunnerTest.php
@@ -0,0 +1,24 @@
<?php declare(strict_types = 1);

namespace Wavevision\DIServiceAnnotationTests;

use org\bovigo\vfs\vfsStream;
use PHPUnit\Framework\TestCase;
use Wavevision\DIServiceAnnotation\Configuration;
use Wavevision\DIServiceAnnotation\Runner;

class RunnerTest extends TestCase
{

public function testRunWithNoServices(): void
{
vfsStream::setup('r');
$dir = vfsStream::url('r/d');
mkdir($dir);
$file = vfsStream::url('r/services.neon');
$configuration = new Configuration($dir, $file);
Runner::run($configuration, $configuration);
$this->assertFileNotExists($file);
}

}
Expand Up @@ -5,7 +5,7 @@
use Wavevision\DIServiceAnnotation\DIService;

/**
* @DIService(params={"%wwwDir%"}, generateInject=true, generateFactory=true)
* @DIService(params={"%wwwDir%"}, tags={"t1"}, generateInject=true, generateFactory=true)
*/
class ExampleService
{
Expand Down
1 change: 1 addition & 0 deletions tests/DIServiceAnnotationTests/expected/nested.neon
Expand Up @@ -4,4 +4,5 @@ services:
inject: on
- implement: Wavevision\DIServiceAnnotationTests\Services\Nested\ExampleServiceFactory
arguments: [%wwwDir%]
tags: [t1]
inject: on

0 comments on commit 7322861

Please sign in to comment.