@@ 25-39 (lines=15) @@ | ||
22 | /** |
|
23 | * @test |
|
24 | */ |
|
25 | public function it_resolves_cross_container_references_in_service_argument() |
|
26 | { |
|
27 | $externalContainer = new ContainerBuilder(); |
|
28 | $externalContainer->setDefinition('array_object', new Definition(\ArrayObject::class, [['foo' => 'bar']])); |
|
29 | ||
30 | $baseContainer = new ContainerBuilder(); |
|
31 | $baseContainer->setDefinition('array_object', new Definition(\ArrayObject::class, [ |
|
32 | new Reference('__external__.array_object'), |
|
33 | ])); |
|
34 | ||
35 | $this->buildContainerWithDependencies($baseContainer, ['external' => $externalContainer]); |
|
36 | ||
37 | static::assertInstanceOf(\ArrayObject::class, $baseContainer->get('array_object')); |
|
38 | static::assertSame(['foo' => 'bar'], $baseContainer->get('array_object')->getArrayCopy()); |
|
39 | } |
|
40 | ||
41 | /** |
|
42 | * @test |
|
@@ 44-58 (lines=15) @@ | ||
41 | /** |
|
42 | * @test |
|
43 | */ |
|
44 | public function it_resolves_cross_container_references_in_service_argument_array() |
|
45 | { |
|
46 | $externalContainer = new ContainerBuilder(); |
|
47 | $externalContainer->setDefinition('std_class', new Definition(\stdClass::class)); |
|
48 | ||
49 | $baseContainer = new ContainerBuilder(); |
|
50 | $baseContainer->setDefinition('array_object', new Definition(\ArrayObject::class, [ |
|
51 | ['std' => ['class' => new Reference('__external__.std_class')]], |
|
52 | ])); |
|
53 | ||
54 | $this->buildContainerWithDependencies($baseContainer, ['external' => $externalContainer]); |
|
55 | ||
56 | static::assertInstanceOf(\ArrayObject::class, $baseContainer->get('array_object')); |
|
57 | static::assertInstanceOf(\stdClass::class, $baseContainer->get('array_object')['std']['class']); |
|
58 | } |
|
59 | ||
60 | /** |
|
61 | * @test |