File tree Expand file tree Collapse file tree 2 files changed +56
-0
lines changed
tests/Functional/Kernel/CustomDependencyInjectionHandler Expand file tree Collapse file tree 2 files changed +56
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments