31
31
use function set_error_handler ;
32
32
use ZendTest \ServiceManager \TestAsset \SampleFactory ;
33
33
use ZendTest \ServiceManager \TestAsset \AbstractFactoryFoo ;
34
+ use ZendTest \ServiceManager \TestAsset \PassthroughDelegatorFactory ;
34
35
35
36
trait CommonServiceLocatorBehaviorsTrait
36
37
{
@@ -910,7 +911,9 @@ public function testConsistencyOverInternalStates($smTemplate, $name, $test)
910
911
// objects in $object['get'] or $object['build']
911
912
// respectively
912
913
foreach ($ test as $ method ) {
913
- $ object [$ method ][] = $ sm ->$ method ($ name );
914
+ $ obj = $ sm ->$ method ($ name );
915
+ $ object [$ method ][] = $ obj ;
916
+ $ this ->assertNotNull ($ obj );
914
917
$ this ->assertTrue ($ sm ->has ($ name ));
915
918
}
916
919
@@ -943,27 +946,35 @@ public function provideConsistencyOverInternalStatesTests()
943
946
{
944
947
$ config = [
945
948
'factories ' => [
946
- ' factory ' => SampleFactory::class,
949
+ // to allow build('service')
947
950
'service ' => function ($ container , $ requestedName , array $ options = null ) {
948
951
return new stdClass ();
949
952
},
953
+ 'factory ' => SampleFactory::class,
954
+ 'delegator ' => SampleFactory::class,
955
+ ],
956
+ 'delegators ' => [
957
+ 'delegator ' => [
958
+ PassthroughDelegatorFactory::class
950
959
],
951
- 'invokables ' => [
952
- 'invokable ' => InvokableObject::class,
953
- ],
954
- 'services ' => [
955
- 'service ' => new stdClass (),
956
- ],
957
- 'aliases ' => [
958
- 'serviceAlias ' => 'service ' ,
959
- 'invokableAlias ' => 'invokable ' ,
960
- 'factoryAlias ' => 'factory ' ,
961
- 'abstractFactoryAlias ' => 'foo '
962
- ],
963
- 'abstract_factories ' => [
964
- AbstractFactoryFoo::class
965
- ]
966
- ];
960
+ ],
961
+ 'invokables ' => [
962
+ 'invokable ' => InvokableObject::class,
963
+ ],
964
+ 'services ' => [
965
+ 'service ' => new stdClass (),
966
+ ],
967
+ 'aliases ' => [
968
+ 'serviceAlias ' => 'service ' ,
969
+ 'invokableAlias ' => 'invokable ' ,
970
+ 'factoryAlias ' => 'factory ' ,
971
+ 'abstractFactoryAlias ' => 'foo ' ,
972
+ 'delegatorAlias ' => 'delegator ' ,
973
+ ],
974
+ 'abstract_factories ' => [
975
+ AbstractFactoryFoo::class
976
+ ]
977
+ ];
967
978
968
979
$ smTemplate = $ this ->createContainer ($ config );
969
980
@@ -983,8 +994,9 @@ public function provideConsistencyOverInternalStatesTests()
983
994
$ config ['factories ' ],
984
995
$ config ['invokables ' ],
985
996
$ config ['services ' ],
986
- $ config ['aliases ' ]
987
- ));
997
+ $ config ['aliases ' ],
998
+ $ config ['delegators ' ]
999
+ ));
988
1000
$ names [] = 'foo ' ;
989
1001
990
1002
foreach ($ names as $ name ) {
0 commit comments