Skip to content

Commit aa5a3a1

Browse files
committed
Added tests for "Custom dependency injection handler in Kernel"
1 parent 29d322a commit aa5a3a1

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
namespace Okapi\CodeTransformer\Tests\Functional\Kernel\CustomDependencyInjectionHandler;
4+
5+
use Okapi\CodeTransformer\Tests\Functional\Cache\CachedFileAndDestructor\Target\StringClass;
6+
use Okapi\CodeTransformer\Tests\Functional\Cache\CachedFileAndDestructor\Transformer\StringTransformer;
7+
use Okapi\CodeTransformer\Tests\Functional\Kernel\CustomDependencyInjectionHandler\Kernel\CustomDependencyInjectionKernel;
8+
use Okapi\CodeTransformer\Tests\Util;
9+
use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
10+
use PHPUnit\Framework\TestCase;
11+
12+
#[RunTestsInSeparateProcesses]
13+
class CustomDependencyInjectionHandlerTest extends TestCase
14+
{
15+
/**
16+
* @see StringTransformer::transform()
17+
*/
18+
public function testCustomDependencyInjectionHandler(): void
19+
{
20+
Util::clearCache();
21+
CustomDependencyInjectionKernel::init();
22+
23+
$class = new StringClass();
24+
25+
$this->assertSame(
26+
'Hello from Code Transformer!',
27+
$class->test(),
28+
);
29+
}
30+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
namespace Okapi\CodeTransformer\Tests\Functional\Kernel\CustomDependencyInjectionHandler\Kernel;
4+
5+
use Closure;
6+
use Okapi\CodeTransformer\CodeTransformerKernel;
7+
use Okapi\CodeTransformer\Tests\Functional\Cache\CachedFileAndDestructor\Transformer\StringTransformer;
8+
use Okapi\CodeTransformer\Tests\Util;
9+
10+
class CustomDependencyInjectionKernel extends CodeTransformerKernel
11+
{
12+
protected ?string $cacheDir = Util::CACHE_DIR;
13+
14+
protected function dependencyInjectionHandler(): ?Closure
15+
{
16+
return function (string $transformerClass) {
17+
echo 'Generating transformer instance: ' . $transformerClass . PHP_EOL;
18+
19+
return new $transformerClass();
20+
};
21+
}
22+
23+
protected array $transformers = [
24+
StringTransformer::class,
25+
];
26+
}

0 commit comments

Comments
 (0)