1 package org.robolectric.shadows; 2 3 import static android.os.Build.VERSION_CODES.LOLLIPOP; 4 import static org.assertj.core.api.Assertions.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 com.google.common.collect.Iterables; 12 import java.util.List; 13 import org.junit.Before; 14 import org.junit.Test; 15 import org.junit.runner.RunWith; 16 import org.robolectric.RobolectricTestRunner; 17 import org.robolectric.RuntimeEnvironment; 18 import org.robolectric.annotation.Config; 19 20 @RunWith(RobolectricTestRunner.class) 21 @Config(minSdk = LOLLIPOP) 22 public final class ShadowRestrictionsManagerTest { 23 24 private RestrictionsManager restrictionsManager; 25 private Context context; 26 27 @Before 28 public void setUp() { 29 context = RuntimeEnvironment.application; 30 restrictionsManager = (RestrictionsManager) context.getSystemService(Context.RESTRICTIONS_SERVICE); 31 } 32 33 @Test 34 public void getApplicationRestrictions() { 35 assertThat(restrictionsManager.getApplicationRestrictions()).isNull(); 36 37 Bundle bundle = new Bundle(); 38 bundle.putCharSequence("test_key", "test_value"); 39 shadowOf(restrictionsManager).setApplicationRestrictions(bundle); 40 41 assertThat(restrictionsManager.getApplicationRestrictions().getCharSequence("test_key")).isEqualTo("test_value"); 42 } 43 44 @Test 45 public void getManifestRestrictions() { 46 RestrictionEntry restrictionEntry = Iterables.getOnlyElement(restrictionsManager 47 .getManifestRestrictions(context.getPackageName())); 48 49 assertThat(restrictionEntry.getKey()).isEqualTo("restrictionKey"); 50 } 51 } 52