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 6 import android.app.Activity; 7 import android.os.Bundle; 8 import android.widget.DatePicker; 9 import android.widget.LinearLayout; 10 import androidx.test.ext.junit.runners.AndroidJUnit4; 11 import java.util.Locale; 12 import libcore.icu.ICU; 13 import org.junit.Test; 14 import org.junit.runner.RunWith; 15 import org.robolectric.Robolectric; 16 import org.robolectric.android.controller.ActivityController; 17 import org.robolectric.annotation.Config; 18 19 @RunWith(AndroidJUnit4.class) 20 @Config(minSdk = LOLLIPOP) 21 public class ShadowICUTest { 22 @Test 23 public void getBestDateTimePattern_returnsReasonableValue() { 24 assertThat(ICU.getBestDateTimePattern("hm", null)).isEqualTo("hm"); 25 } 26 27 @Test 28 public void getBestDateTimePattern_returns_jmm_US() { 29 assertThat(ICU.getBestDateTimePattern("jmm", Locale.US)).isEqualTo("h:mm a"); 30 } 31 32 @Test 33 public void getBestDateTimePattern_returns_jmm_UK() { 34 assertThat(ICU.getBestDateTimePattern("jmm", Locale.UK)).isEqualTo("H:mm"); 35 } 36 37 @Test 38 public void getBestDateTimePattern_returns_jmm_ptBR() { 39 assertThat(ICU.getBestDateTimePattern("jmm", new Locale("pt", "BR"))).isEqualTo("H:mm"); 40 } 41 42 43 @Test 44 public void datePickerShouldNotCrashWhenAskingForBestDateTimePattern() { 45 ActivityController<DatePickerActivity> activityController = Robolectric.buildActivity(DatePickerActivity.class); 46 activityController.setup(); 47 } 48 49 private static class DatePickerActivity extends Activity { 50 @Override 51 protected void onCreate(Bundle savedInstanceState) { 52 super.onCreate(savedInstanceState); 53 LinearLayout view = new LinearLayout(this); 54 view.setId(1); 55 DatePicker datePicker = new DatePicker(this); 56 view.addView(datePicker); 57 58 setContentView(view); 59 } 60 } 61 }