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