2222import pub .devrel .easypermissions .testhelper .TestActivity ;
2323import pub .devrel .easypermissions .testhelper .TestFragment ;
2424import pub .devrel .easypermissions .testhelper .TestAppCompatActivity ;
25+ import pub .devrel .easypermissions .testhelper .TestSupportFragmentActivity ;
2526
2627import static com .google .common .truth .Truth .assertThat ;
2728import static org .mockito .Mockito .times ;
@@ -39,9 +40,11 @@ public class EasyPermissionsLowApiTest {
3940 Manifest .permission .READ_SMS , Manifest .permission .ACCESS_FINE_LOCATION };
4041
4142 private TestActivity spyActivity ;
43+ private TestSupportFragmentActivity spySupportFragmentActivity ;
4244 private TestAppCompatActivity spyAppCompatActivity ;
4345 private TestFragment spyFragment ;
4446 private ActivityController <TestActivity > activityController ;
47+ private ActivityController <TestSupportFragmentActivity > supportFragmentActivityController ;
4548 private ActivityController <TestAppCompatActivity > appCompatActivityController ;
4649 private SupportFragmentController <TestFragment > supportController ;
4750 @ Captor
@@ -83,7 +86,18 @@ public void shouldCallbackOnPermissionGranted_whenRequestFromActivity() {
8386 // ------ From Support Activity ------
8487
8588 @ Test
86- public void shouldCallbackOnPermissionGranted_whenRequestFromSupportActivity () {
89+ public void shouldCallbackOnPermissionGranted_whenRequestFromSupportFragmentActivity () {
90+ EasyPermissions .requestPermissions (spySupportFragmentActivity , RATIONALE , TestSupportFragmentActivity .REQUEST_CODE , ALL_PERMS );
91+
92+ verify (spySupportFragmentActivity , times (1 ))
93+ .onPermissionsGranted (integerCaptor .capture (), listCaptor .capture ());
94+ assertThat (integerCaptor .getValue ()).isEqualTo (TestSupportFragmentActivity .REQUEST_CODE );
95+ assertThat (listCaptor .getValue ()).containsAllIn (ALL_PERMS );
96+ }
97+
98+
99+ @ Test
100+ public void shouldCallbackOnPermissionGranted_whenRequestFromAppCompatActivity () {
87101 EasyPermissions .requestPermissions (spyAppCompatActivity , RATIONALE , TestAppCompatActivity .REQUEST_CODE , ALL_PERMS );
88102
89103 verify (spyAppCompatActivity , times (1 ))
@@ -105,12 +119,15 @@ public void shouldCallbackOnPermissionGranted_whenRequestFromFragment() {
105119 private void setUpActivityAndFragment () {
106120 activityController = Robolectric .buildActivity (TestActivity .class )
107121 .create ().start ().resume ();
122+ supportFragmentActivityController = Robolectric .buildActivity (TestSupportFragmentActivity .class )
123+ .create ().start ().resume ();
108124 appCompatActivityController = Robolectric .buildActivity (TestAppCompatActivity .class )
109125 .create ().start ().resume ();
110126 supportController = SupportFragmentController .of (new TestFragment ())
111127 .create ().start ().resume ();
112128
113129 spyActivity = Mockito .spy (activityController .get ());
130+ spySupportFragmentActivity = Mockito .spy (supportFragmentActivityController .get ());
114131 spyAppCompatActivity = Mockito .spy (appCompatActivityController .get ());
115132 spyFragment = Mockito .spy (supportController .get ());
116133 }
0 commit comments