1 package com.android.settings.localepicker; 2 3 import static org.junit.Assert.assertEquals; 4 import static org.junit.Assert.assertNotNull; 5 import static org.mockito.Mockito.mock; 6 import static org.mockito.Mockito.spy; 7 8 import android.app.Activity; 9 import android.platform.test.annotations.DisableFlags; 10 import android.platform.test.flag.junit.SetFlagsRule; 11 12 import com.android.internal.app.LocaleStore; 13 import com.android.settings.flags.Flags; 14 15 import org.junit.Before; 16 import org.junit.Rule; 17 import org.junit.Test; 18 import org.junit.runner.RunWith; 19 import org.mockito.MockitoAnnotations; 20 import org.robolectric.Robolectric; 21 import org.robolectric.RobolectricTestRunner; 22 import org.robolectric.Shadows; 23 import org.robolectric.android.controller.ActivityController; 24 import org.robolectric.shadows.ShadowActivity; 25 26 @RunWith(RobolectricTestRunner.class) 27 public class LocalePickerWithRegionActivityTest { 28 29 private LocalePickerWithRegionActivity mActivity; 30 31 @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); 32 33 @Before setUp()34 public void setUp() { 35 MockitoAnnotations.initMocks(this); 36 final ActivityController<LocalePickerWithRegionActivity> mActivityController = 37 Robolectric.buildActivity(LocalePickerWithRegionActivity.class); 38 mActivity = spy(mActivityController.get()); 39 } 40 41 @Test 42 @DisableFlags(Flags.FLAG_REGIONAL_PREFERENCES_API_ENABLED) onLocaleSelected_resultShouldBeOK()43 public void onLocaleSelected_resultShouldBeOK() { 44 final ShadowActivity shadowActivity = Shadows.shadowOf(mActivity); 45 mActivity.onLocaleSelected(mock(LocaleStore.LocaleInfo.class)); 46 47 assertEquals(Activity.RESULT_OK, shadowActivity.getResultCode()); 48 } 49 50 @Test 51 @DisableFlags(Flags.FLAG_REGIONAL_PREFERENCES_API_ENABLED) onLocaleSelected_localeInfoShouldBeSentBack()52 public void onLocaleSelected_localeInfoShouldBeSentBack() { 53 final ShadowActivity shadowActivity = Shadows.shadowOf(mActivity); 54 mActivity.onLocaleSelected(mock(LocaleStore.LocaleInfo.class)); 55 56 assertNotNull(shadowActivity.getResultIntent().getSerializableExtra( 57 LocaleListEditor.INTENT_LOCALE_KEY)); 58 } 59 } 60