Home | History | Annotate | Download | only in shadows
      1 package org.robolectric.shadows;
      2 
      3 import static org.assertj.core.api.Assertions.assertThat;
      4 
      5 import android.os.Bundle;
      6 import android.preference.DialogPreference;
      7 import android.preference.PreferenceActivity;
      8 import android.preference.PreferenceScreen;
      9 import org.junit.Test;
     10 import org.junit.runner.RunWith;
     11 import org.robolectric.R;
     12 import org.robolectric.Robolectric;
     13 import org.robolectric.RobolectricTestRunner;
     14 
     15 @RunWith(RobolectricTestRunner.class)
     16 public class ShadowDialogPreferenceTest {
     17 
     18   @Test
     19   public void inflate_shouldCreateDialogPreference() {
     20     final PreferenceScreen screen = inflatePreferenceActivity();
     21     final DialogPreference preference = (DialogPreference) screen.findPreference("dialog");
     22 
     23     assertThat(preference.getTitle()).isEqualTo("Dialog Preference");
     24     assertThat(preference.getSummary()).isEqualTo("This is the dialog summary");
     25     assertThat(preference.getDialogMessage()).isEqualTo("This is the dialog message");
     26     assertThat(preference.getPositiveButtonText()).isEqualTo("YES");
     27     assertThat(preference.getNegativeButtonText()).isEqualTo("NO");
     28   }
     29 
     30   private PreferenceScreen inflatePreferenceActivity() {
     31     PreferenceActivity activity = Robolectric.setupActivity(TestPreferenceActivity.class);
     32     return activity.getPreferenceScreen();
     33   }
     34 
     35   @SuppressWarnings("FragmentInjection")
     36   private static class TestPreferenceActivity extends PreferenceActivity {
     37     @Override
     38     protected void onCreate(Bundle savedInstanceState) {
     39       super.onCreate(savedInstanceState);
     40       addPreferencesFromResource(R.xml.dialog_preferences);
     41     }
     42   }
     43 }
     44