44import static org .junit .Assert .assertNotNull ;
55import static org .junit .Assert .assertTrue ;
66import static org .mockito .Mockito .any ;
7+ import static org .mockito .Mockito .anyInt ;
78import static org .mockito .Mockito .atLeast ;
89import static org .mockito .Mockito .mock ;
910import static org .mockito .Mockito .times ;
1011import static org .mockito .Mockito .verify ;
1112import static org .mockito .Mockito .when ;
1213
1314import android .content .Context ;
15+ import android .content .pm .PackageManager .NameNotFoundException ;
1416import io .flutter .FlutterInjector ;
1517import io .flutter .embedding .engine .FlutterEngine ;
1618import io .flutter .embedding .engine .FlutterJNI ;
@@ -127,8 +129,11 @@ public void itNotifiesPlatformViewsControllerAboutJNILifecycle() {
127129 }
128130
129131 @ Test
130- public void itUsesApplicationContext () {
132+ public void itUsesApplicationContext () throws NameNotFoundException {
131133 Context context = mock (Context .class );
134+ Context packageContext = mock (Context .class );
135+
136+ when (context .createPackageContext (any (), anyInt ())).thenReturn (packageContext );
132137
133138 new FlutterEngine (
134139 context ,
@@ -141,12 +146,31 @@ public void itUsesApplicationContext() {
141146 }
142147
143148 @ Test
144- public void itCanUseFlutterLoaderInjectionViaFlutterInjector () {
149+ public void itUsesPackageContextForAssetManager () throws NameNotFoundException {
150+ Context context = mock (Context .class );
151+ Context packageContext = mock (Context .class );
152+ when (context .createPackageContext (any (), anyInt ())).thenReturn (packageContext );
153+
154+ new FlutterEngine (
155+ context ,
156+ mock (FlutterLoader .class ),
157+ flutterJNI ,
158+ /*dartVmArgs=*/ new String [] {},
159+ /*automaticallyRegisterPlugins=*/ false );
160+
161+ verify (packageContext , atLeast (1 )).getAssets ();
162+ }
163+
164+ @ Test
165+ public void itCanUseFlutterLoaderInjectionViaFlutterInjector () throws NameNotFoundException {
145166 FlutterInjector .reset ();
146167 FlutterLoader mockFlutterLoader = mock (FlutterLoader .class );
147168 FlutterInjector .setInstance (
148169 new FlutterInjector .Builder ().setFlutterLoader (mockFlutterLoader ).build ());
149170 Context mockContext = mock (Context .class );
171+ Context packageContext = mock (Context .class );
172+
173+ when (mockContext .createPackageContext (any (), anyInt ())).thenReturn (packageContext );
150174
151175 new FlutterEngine (mockContext , null , flutterJNI );
152176
0 commit comments