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