Home | History | Annotate | Download | only in shadows
      1 package org.robolectric.shadows;
      2 
      3 import static android.content.res.Configuration.SCREENLAYOUT_UNDEFINED;
      4 import static org.assertj.core.api.Assertions.assertThat;
      5 
      6 import android.content.res.Configuration;
      7 import android.os.Build;
      8 import java.util.Locale;
      9 import org.junit.Before;
     10 import org.junit.Test;
     11 import org.junit.runner.RunWith;
     12 import org.robolectric.RobolectricTestRunner;
     13 import org.robolectric.annotation.Config;
     14 
     15 @RunWith(RobolectricTestRunner.class)
     16 public class ShadowConfigurationTest {
     17 
     18   private Configuration configuration;
     19 
     20   @Before
     21   public void setUp() throws Exception {
     22     configuration = new Configuration();
     23   }
     24 
     25   @Test
     26   public void setToDefaultsShouldSetRealDefaults() {
     27     configuration.setToDefaults();
     28     assertThat(configuration.fontScale).isEqualTo(1);
     29     assertThat(configuration.screenLayout).isEqualTo(SCREENLAYOUT_UNDEFINED);
     30   }
     31 
     32   @Test
     33   @Config(minSdk = Build.VERSION_CODES.JELLY_BEAN_MR1)
     34   public void testSetLocale() {
     35     configuration.setLocale( Locale.US );
     36     assertThat(configuration.locale).isEqualTo(Locale.US);
     37 
     38     configuration.setLocale( Locale.FRANCE);
     39     assertThat(configuration.locale).isEqualTo(Locale.FRANCE);
     40   }
     41 
     42   @Test
     43   public void testConstructCopy() {
     44     configuration.setToDefaults();
     45     Configuration clone = new Configuration(configuration);
     46     assertThat(configuration).isEqualTo(clone);
     47   }
     48 
     49   @Test public void testToString_shouldntExplode() throws Exception {
     50     assertThat(new Configuration().toString()).contains("mcc");
     51   }
     52 }
     53