• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package org.robolectric.shadows;
2 
3 import static android.os.Build.VERSION_CODES.LOLLIPOP;
4 import static com.google.common.truth.Truth.assertThat;
5 import static org.robolectric.Shadows.shadowOf;
6 
7 import android.content.Context;
8 import android.content.RestrictionEntry;
9 import android.content.RestrictionsManager;
10 import android.os.Bundle;
11 import androidx.test.core.app.ApplicationProvider;
12 import androidx.test.ext.junit.runners.AndroidJUnit4;
13 import com.google.common.collect.Iterables;
14 import org.junit.Before;
15 import org.junit.Test;
16 import org.junit.runner.RunWith;
17 import org.robolectric.annotation.Config;
18 
19 @RunWith(AndroidJUnit4.class)
20 @Config(minSdk = LOLLIPOP)
21 public final class ShadowRestrictionsManagerTest {
22 
23   private RestrictionsManager restrictionsManager;
24   private Context context;
25 
26   @Before
setUp()27   public void setUp() {
28     context = ApplicationProvider.getApplicationContext();
29     restrictionsManager = (RestrictionsManager) context.getSystemService(Context.RESTRICTIONS_SERVICE);
30   }
31 
32   @Test
getApplicationRestrictions()33   public void getApplicationRestrictions() {
34     assertThat(restrictionsManager.getApplicationRestrictions()).isNull();
35 
36     Bundle bundle = new Bundle();
37     bundle.putCharSequence("test_key", "test_value");
38     shadowOf(restrictionsManager).setApplicationRestrictions(bundle);
39 
40     assertThat(restrictionsManager.getApplicationRestrictions().getCharSequence("test_key")).isEqualTo("test_value");
41   }
42 
43   @Test
getManifestRestrictions()44   public void getManifestRestrictions() {
45     RestrictionEntry restrictionEntry = Iterables.getOnlyElement(restrictionsManager
46         .getManifestRestrictions(context.getPackageName()));
47 
48     assertThat(restrictionEntry.getKey()).isEqualTo("restrictionKey");
49   }
50 }
51