• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.android.settings.location;
2 
3 import static com.google.common.truth.Truth.assertThat;
4 
5 import android.content.Context;
6 import android.provider.Settings;
7 
8 import com.android.settings.testutils.SettingsRobolectricTestRunner;
9 
10 import org.junit.Before;
11 import org.junit.Test;
12 import org.junit.runner.RunWith;
13 import org.mockito.Mock;
14 import org.mockito.MockitoAnnotations;
15 import org.robolectric.RuntimeEnvironment;
16 
17 @RunWith(SettingsRobolectricTestRunner.class)
18 public class AppLocationPermissionPreferenceControllerTest {
19 
20     private AppLocationPermissionPreferenceController mController;
21 
22     @Mock
23     private Context mContext;
24 
25     @Before
setUp()26     public void setUp() {
27         MockitoAnnotations.initMocks(this);
28         mContext = RuntimeEnvironment.application;
29         mController = new AppLocationPermissionPreferenceController(mContext);
30     }
31 
32     @Test
isAvailable_noLocationLinkPermission_shouldReturnFalse()33     public void isAvailable_noLocationLinkPermission_shouldReturnFalse() {
34         Settings.System.putInt(mContext.getContentResolver(),
35                 android.provider.Settings.Global.LOCATION_SETTINGS_LINK_TO_PERMISSIONS_ENABLED, 0);
36 
37         assertThat(mController.isAvailable()).isFalse();
38     }
39 
40     @Test
displayPreference_hasLocationLinkPermission_shouldReturnTrue()41     public void displayPreference_hasLocationLinkPermission_shouldReturnTrue() {
42         Settings.System.putInt(mContext.getContentResolver(),
43                 android.provider.Settings.Global.LOCATION_SETTINGS_LINK_TO_PERMISSIONS_ENABLED, 1);
44 
45         assertThat(mController.isAvailable()).isTrue();
46     }
47 }
48