@Test public void nullTitleAndMessageAreOkay() throws Exception { AlertDialog.Builder builder = new AlertDialog.Builder(application) // .setTitle(null) // .setMessage(null); ShadowAlertDialog shadowAlertDialog = shadowOf(builder.create()); assertThat(shadowAlertDialog.getTitle().toString()).isEqualTo(""); assertThat(shadowAlertDialog.getMessage()).isEqualTo(""); }
@Test public void testBuilder() throws Exception { AlertDialog.Builder builder = new AlertDialog.Builder(application); builder.setTitle("title").setMessage("message"); builder.setCancelable(true); AlertDialog alert = builder.create(); alert.show(); assertThat(alert.isShowing()).isTrue(); ShadowAlertDialog shadowAlertDialog = shadowOf(alert); assertEquals("title", shadowAlertDialog.getTitle()); assertThat(shadowAlertDialog.getMessage()).isEqualTo("message"); assertThat(shadowAlertDialog.isCancelable()).isTrue(); assertThat(shadowOf(ShadowAlertDialog.getLatestAlertDialog())).isSameAs(shadowAlertDialog); assertThat(ShadowAlertDialog.getLatestAlertDialog()).isSameAs(alert); }
@Test public void testBuilderWithItemArrayViaResourceId() throws Exception { AlertDialog.Builder builder = new AlertDialog.Builder(new ContextWrapper(context)); builder.setTitle("title"); builder.setItems(R.array.alertDialogTestItems, new TestDialogOnClickListener()); AlertDialog alert = builder.create(); alert.show(); assertThat(alert.isShowing()).isTrue(); ShadowAlertDialog shadowAlertDialog = shadowOf(alert); assertThat(shadowAlertDialog.getTitle().toString()).isEqualTo("title"); assertThat(shadowAlertDialog.getItems().length).isEqualTo(2); assertThat(shadowAlertDialog.getItems()[0]).isEqualTo("Aloha"); assertThat(shadowOf(ShadowAlertDialog.getLatestAlertDialog())).isSameAs(shadowAlertDialog); assertThat(ShadowAlertDialog.getLatestAlertDialog()).isSameAs(alert); }
@Test public void testTitle() { // setup String expected = mainActivity.getResources().getString(R.string.filter_title); ShadowAlertDialog shadowAlertDialog = shadowOf(alertDialog); // execute CharSequence actual = shadowAlertDialog.getTitle(); // validate assertEquals(expected, actual.toString()); }
@Test public void onLinkClick_noSelection_openDialog() { ImageButton linkButton = (ImageButton) activity.findViewById(R.id.button_link); linkButton.performClick(); ShadowAlertDialog shadowDialog = (ShadowAlertDialog) Shadows.shadowOf(ShadowAlertDialog .getLatestDialog()); EditText editText = shadowDialog.getView().findViewById(R.id.edit_text); EditText editLink = shadowDialog.getView().findViewById(R.id.edit_link); assertEquals(resources.getString(R.string.add_link), shadowDialog.getTitle()); assertNotNull(editText); assertNotNull(editLink); }
private void validateAlertDialogClickListener(int viewId, int titleId, int messageId) { // setup SupportFragmentTestUtil.startFragment(fixture); View view = fixture.getView().findViewById(viewId); String expectedTitle = mainActivity.getApplicationContext().getString(titleId); String expectedMessage = FileUtils.readFile(mainActivity.getResources(), messageId); // execute view.callOnClick(); // validate AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog(); ShadowAlertDialog shadowAlertDialog = Shadows.shadowOf(alertDialog); assertEquals(expectedTitle, shadowAlertDialog.getTitle()); assertEquals(expectedMessage, shadowAlertDialog.getMessage()); }
@Test public void testCreateDirectoryDialogDisallowFolderNameModification() { final String directoryName = "mydir"; final DirectoryChooserFragment fragment = DirectoryChooserFragment.newInstance( DirectoryChooserConfig.builder() .newDirectoryName(directoryName) .initialDirectory("") .allowReadOnlyDirectory(false) .allowNewDirectoryNameModification(false) .build()); startFragment(fragment, DirectoryChooserActivityMock.class); fragment.onOptionsItemSelected(new TestMenuItem() { @Override public int getItemId() { return R.id.new_folder_item; } }); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); final ShadowAlertDialog shadowAlertDialog = Shadows.shadowOf(dialog); assertThat(shadowAlertDialog.getTitle()).isEqualTo("Create folder"); assertThat(ShadowDialog.getShownDialogs()).contains(dialog); final TextView msgView = (TextView) dialog.findViewById(R.id.msgText); assertThat(msgView).hasText("Create new folder with name \"mydir\"?"); final EditText editText = (EditText) dialog.findViewById(R.id.editText); assertThat(editText).isGone(); }
@Test public void testCreateDirectoryDialogAllowFolderNameModification() { final String directoryName = "mydir"; final DirectoryChooserFragment fragment = DirectoryChooserFragment.newInstance( DirectoryChooserConfig.builder() .newDirectoryName(directoryName) .initialDirectory("") .allowReadOnlyDirectory(false) .allowNewDirectoryNameModification(true) .build()); startFragment(fragment, DirectoryChooserActivityMock.class); fragment.onOptionsItemSelected(new TestMenuItem() { @Override public int getItemId() { return R.id.new_folder_item; } }); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); final ShadowAlertDialog shadowAlertDialog = Shadows.shadowOf(dialog); assertThat(shadowAlertDialog.getTitle()).isEqualTo("Create folder"); assertThat(ShadowDialog.getShownDialogs()).contains(dialog); final TextView msgView = (TextView) dialog.findViewById(R.id.msgText); assertThat(msgView).hasText("Create new folder with name \"mydir\"?"); final EditText editText = (EditText) dialog.findViewById(R.id.editText); assertThat(editText).isVisible(); assertThat(editText).hasTextString(directoryName); }