5
5
*/
6
6
namespace Magento \Framework \App \Test \Unit \ObjectManager \Environment ;
7
7
8
+ use Magento \Framework \App \ObjectManager ;
8
9
use Magento \Framework \App \ObjectManager \Environment \Developer ;
9
10
10
11
class DeveloperTest extends \PHPUnit_Framework_TestCase
@@ -29,4 +30,61 @@ public function testGetObjectManagerConfigLoader()
29
30
{
30
31
$ this ->assertNull ($ this ->_developer ->getObjectManagerConfigLoader ());
31
32
}
33
+
34
+ public function testConfigureObjectManager ()
35
+ {
36
+ try {
37
+ $ origObjectManager = ObjectManager::getInstance ();
38
+ } catch (\Exception $ e ) {
39
+ $ origObjectManager = null ;
40
+ }
41
+
42
+
43
+ $ objectManagerMock = $ this ->getMockBuilder ('Magento\Framework\App\ObjectManager ' )
44
+ ->disableOriginalConstructor ()
45
+ ->getMock ();
46
+ ObjectManager::setInstance ($ objectManagerMock );
47
+ $ diConfigMock = $ this ->getMockBuilder ('\Magento\Framework\Interception\ObjectManager\ConfigInterface ' )
48
+ ->disableOriginalConstructor ()
49
+ ->getMock ();
50
+
51
+ $ configLoaderMock = $ this ->getMockBuilder ('Magento\Framework\App\ObjectManager\ConfigLoader ' )
52
+ ->disableOriginalConstructor ()
53
+ ->getMock ();
54
+ $ configLoaderMock ->expects ($ this ->any ())->method ('load ' )->willReturn ([]);
55
+ $ omReturnMap = [
56
+ ['Magento\Framework\App\ObjectManager\ConfigLoader ' , $ configLoaderMock ],
57
+ [
58
+ 'Magento\Framework\Config\ScopeInterface ' ,
59
+ $ this ->getMockBuilder ('Magento\Framework\Config\ScopeInterface ' )
60
+ ->disableOriginalConstructor ()
61
+ ->getMock ()
62
+ ],
63
+ [
64
+ 'Magento\Framework\App\ObjectManager\ConfigCache ' ,
65
+ $ this ->getMockBuilder ('Magento\Framework\App\ObjectManager\ConfigCache ' )
66
+ ->disableOriginalConstructor ()
67
+ ->getMock ()
68
+ ],
69
+ [
70
+ 'Magento\Framework\Interception\Config\Config ' ,
71
+ $ this ->getMockBuilder ('Magento\Framework\Interception\Config\Config ' )
72
+ ->disableOriginalConstructor ()
73
+ ->getMock ()
74
+ ]
75
+ ];
76
+ $ objectManagerMock ->expects ($ this ->any ())->method ('get ' )->willReturnMap ($ omReturnMap );
77
+
78
+ $ sharedInstances = ['class_name ' => 'shared_object ' ];
79
+ $ this ->_developer ->configureObjectManager ($ diConfigMock , $ sharedInstances );
80
+
81
+ $ expectedSharedInstances = [
82
+ 'class_name ' => 'shared_object ' ,
83
+ 'Magento\Framework\ObjectManager\ConfigLoaderInterface ' => $ configLoaderMock
84
+ ];
85
+ $ this ->assertSame ($ expectedSharedInstances , $ sharedInstances );
86
+ if (isset ($ origObjectManager )) {
87
+ ObjectManager::setInstance ($ origObjectManager );
88
+ }
89
+ }
32
90
}
0 commit comments