blob: 0d39a04306e64f0e811c74fdc4fc12f9d1da24c6 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2003 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.ui.tests.dialogs;
import java.util.ResourceBundle;
import junit.framework.TestCase;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.internal.WorkbenchMessages;
import org.eclipse.ui.tests.util.DialogCheck;
public class UIMessageDialogsAuto extends TestCase {
private static final String DUMMY_RESOURCE = "Dummy.resource";
private static final String DUMMY_PROJECT = "DummyProject";
private static final String DUMMY_ABSOLUTE_PATH = "C:\\Dummypath\\Dummy.resource";
private static final String DUMMY_RELATIVE_PATH = "\\" + DUMMY_PROJECT
+ "\\" + DUMMY_RESOURCE;
public UIMessageDialogsAuto(String name) {
super(name);
}
private Shell getShell() {
return DialogCheck.getShell();
}
/*
* Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::openConfirm.
* The method will return the dialog instead of opening.
* @param title the dialog's title, or <code>null</code> if none.
* @param message the message.
* @return Dialog the confirm dialog.
*/
private MessageDialog getConfirmDialog(String title, String message) {
return new MessageDialog(getShell(), title, null, message,
MessageDialog.QUESTION, new String[] {
IDialogConstants.OK_LABEL,
IDialogConstants.CANCEL_LABEL }, 0);
}
/*
* Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::openError.
* The method will return the dialog instead of opening.
* @param title the dialog's title, or <code>null</code> if none.
* @param message the message.
* @return MessageDialog the error confirm dialog.
*/
private MessageDialog getErrorDialog(String title, String message) {
return new MessageDialog(getShell(), title, null, message,
MessageDialog.ERROR,
new String[] { IDialogConstants.OK_LABEL }, 0);
}
/*
* Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::openInformation.
* The method will return the dialog instead of opening.
* @param title the dialog's title, or <code>null</code> if none.
* @param message the message.
* @return MessageDialog the information dialog.
*/
private MessageDialog getInformationDialog(String title, String message) {
return new MessageDialog(getShell(), title, null, message,
MessageDialog.INFORMATION,
new String[] { IDialogConstants.OK_LABEL }, 0);
}
/*
* Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::openQuestion.
* The method will return the dialog instead of opening.
* @param title the dialog's title, or <code>null</code> if none.
* @param message the message.
* @return MessageDialog the question dialog.
*/
private MessageDialog getQuestionDialog(String title, String message) {
return new MessageDialog(getShell(), title, null, message,
MessageDialog.QUESTION,
new String[] { IDialogConstants.YES_LABEL,
IDialogConstants.NO_LABEL }, 0);
}
/*
* Convenience method simliar to org.eclipse.jface.dialogs.MessageDialog::getWarningDialog.
* The method will return the dialog instead of opening.
* @param title the dialog's title, or <code>null</code> if none.
* @param message the message.
* @return MessageDialog the confirm dialog.
*/
private MessageDialog getWarningDialog(String title, String message) {
return new MessageDialog(getShell(), title, null, message,
MessageDialog.WARNING,
new String[] { IDialogConstants.OK_LABEL }, 0);
}
public void testAbortPageFlipping() {
Dialog dialog = getWarningDialog(JFaceResources
.getString("AbortPageFlippingDialog.title"), JFaceResources
.getString("AbortPageFlippingDialog.message"));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testCloseFileDeleted() {
Dialog dialog = null;
ResourceBundle bundle = ResourceBundle
.getBundle("org.eclipse.ui.texteditor.EditorMessages");
if (bundle != null) {
dialog = getConfirmDialog(
bundle
.getString("Editor.error.activated.deleted.close.title"),
bundle
.getString("Editor.error.activated.deleted.close.message"));
}
DialogCheck.assertDialogTexts(dialog, this);
}
public void testCopyOverwrite() {
Dialog dialog = getQuestionDialog(WorkbenchMessages
.getString("CopyResourceAction.resourceExists"),
WorkbenchMessages.format(
"CopyResourceAction.overwriteQuestion",
new Object[] { DUMMY_RELATIVE_PATH }));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testDeleteProject() {
String title = WorkbenchMessages
.getString("DeleteResourceAction.titleProject");
String msg = WorkbenchMessages.format(
"DeleteResourceAction.confirmProject1", new Object[] {
DUMMY_PROJECT, DUMMY_ABSOLUTE_PATH });
Dialog dialog = new MessageDialog(getShell(), title, null, // accept the default window icon
msg, MessageDialog.QUESTION, new String[] {
IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL,
IDialogConstants.CANCEL_LABEL }, 0);
DialogCheck.assertDialogTexts(dialog, this);
}
public void testDeleteReadOnlyCheck() {
Dialog dialog = new MessageDialog(getShell(), WorkbenchMessages
.getString("DeleteResourceAction.checkDelete"), null,
WorkbenchMessages.format(
"DeleteResourceAction.readOnlyQuestion",
new Object[] { DUMMY_RESOURCE }),
MessageDialog.QUESTION, new String[] {
IDialogConstants.YES_LABEL,
IDialogConstants.YES_TO_ALL_LABEL,
IDialogConstants.NO_LABEL,
IDialogConstants.CANCEL_LABEL }, 0);
DialogCheck.assertDialogTexts(dialog, this);
}
public void testDeleteResource() {
Dialog dialog = getQuestionDialog(WorkbenchMessages
.getString("DeleteResourceAction.title"), WorkbenchMessages
.format("DeleteResourceAction.confirm1",
new Object[] { DUMMY_RESOURCE }));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testDeleteResources() {
Dialog dialog = getQuestionDialog(WorkbenchMessages
.getString("DeleteResourceAction.title"), WorkbenchMessages
.format("DeleteResourceAction.confirmN",
new Object[] { DUMMY_RESOURCE }));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testDropOverwrite() {
Dialog dialog = new MessageDialog(
getShell(),
ResourceNavigatorMessagesCopy.getString("DropAdapter.question"),
null, ResourceNavigatorMessagesCopy.format(
"DropAdapter.overwriteQuery",
new Object[] { DUMMY_RELATIVE_PATH }),
MessageDialog.QUESTION, new String[] {
IDialogConstants.YES_LABEL,
IDialogConstants.YES_TO_ALL_LABEL,
IDialogConstants.NO_LABEL,
IDialogConstants.CANCEL_LABEL }, 0);
DialogCheck.assertDialogTexts(dialog, this);
}
public void testErrorClosing() {
Dialog dialog = getQuestionDialog(WorkbenchMessages.getString("Error"),
WorkbenchMessages.getString("ErrorClosingNoArg"));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testFileChanged() {
MessageDialog dialog = null;
ResourceBundle bundle = ResourceBundle
.getBundle("org.eclipse.ui.texteditor.EditorMessages");
if (bundle != null) {
dialog = getQuestionDialog(
bundle.getString("Editor.error.activated.outofsync.title"),
bundle
.getString("Editor.error.activated.outofsync.message"));
}
DialogCheck.assertDialogTexts(dialog, this);
}
public void testFileExtensionEmpty() {
Dialog dialog = getInformationDialog(
WorkbenchMessages
.getString("FileEditorPreference.extensionEmptyTitle"),
WorkbenchMessages
.getString("FileEditorPreference.extensionEmptyMessage"));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testFileNameWrong() {
Dialog dialog = getInformationDialog(
WorkbenchMessages
.getString("FileEditorPreference.fileNameInvalidTitle"),
WorkbenchMessages
.getString("FileEditorPreference.fileNameInvalidMessage"));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testFileTypeExists() {
Dialog dialog = getInformationDialog(WorkbenchMessages
.getString("FileEditorPreference.existsTitle"),
WorkbenchMessages
.getString("FileEditorPreference.existsMessage"));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testInvalidType_1() {
Dialog dialog = getWarningDialog(WorkbenchMessages
.getString("FileExtension.invalidTitle"), WorkbenchMessages
.getString("FileExtension.invalidMessage"));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testInvalidType_2() {
Dialog dialog = getWarningDialog(WorkbenchMessages
.getString("FileExtension.invalidType"), WorkbenchMessages
.getString("FileExtension.invalidTypeMessage"));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testMoveReadOnlyCheck() {
Dialog dialog = new MessageDialog(getShell(), WorkbenchMessages
.getString("MoveResourceAction.title"), null, WorkbenchMessages
.format("MoveResourceAction.checkMoveMessage",
new Object[] { DUMMY_RESOURCE }),
MessageDialog.QUESTION, new String[] {
IDialogConstants.YES_LABEL,
IDialogConstants.YES_TO_ALL_LABEL,
IDialogConstants.NO_LABEL,
IDialogConstants.CANCEL_LABEL }, 0);
DialogCheck.assertDialogTexts(dialog, this);
}
public void testNoBuilders() {
Dialog dialog = getWarningDialog(WorkbenchMessages
.getString("BuildAction.warning"), WorkbenchMessages
.getString("BuildAction.noBuilders"));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testNoGlobalBuildersDialog() {
Dialog dialog = getWarningDialog(WorkbenchMessages
.getString("GlobalBuildAction.warning"), WorkbenchMessages
.getString("GlobalBuildAction.noBuilders"));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testNoPropertyPage() {
Dialog dialog = getInformationDialog(WorkbenchMessages
.getString("PropertyDialog.messageTitle"), WorkbenchMessages
.format("PropertyDialog.noPropertyMessage",
new Object[] { "DummyPropertyPage" }));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testNoSelectedExportResources() {
Dialog dialog = getInformationDialog(DataTransferMessagesCopy
.getString("DataTransfer.information"),
DataTransferMessagesCopy.getString("FileExport.noneSelected"));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testNoSelectedImportResources() {
Dialog dialog = getInformationDialog(DataTransferMessagesCopy
.getString("DataTransfer.information"),
DataTransferMessagesCopy.getString("FileImport.noneSelected"));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testOperationNotAvailable() {
Dialog dialog = getInformationDialog(WorkbenchMessages
.getString("Information"), WorkbenchMessages
.getString("PluginActino.operationNotAvailableMessage"));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testOverwritePerspective() {
Dialog dialog = new MessageDialog(getShell(), WorkbenchMessages
.getString("SavePerspective.overwriteTitle"), null,
WorkbenchMessages.format("SavePerspective.overwriteQuestion",
new Object[] { "Dummy Perspective" }),
MessageDialog.QUESTION, new String[] {
IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL,
IDialogConstants.CANCEL_LABEL }, 0);
DialogCheck.assertDialogTexts(dialog, this);
}
public void testRefreshDeleteProject() {
Dialog dialog = new MessageDialog(getShell(), WorkbenchMessages
.getString("RefreshAction.dialogTitle"), null,
WorkbenchMessages.format(
"RefreshAction.locationDeletedMessage", new Object[] {
DUMMY_PROJECT,
"c:\\dummypath\\" + DUMMY_PROJECT }),
MessageDialog.QUESTION,
new String[] { IDialogConstants.YES_LABEL,
IDialogConstants.NO_LABEL }, 0);
DialogCheck.assertDialogTexts(dialog, this);
}
public void testRenameOverwrite() {
Dialog dialog = getQuestionDialog(WorkbenchMessages
.getString("RenameResourceAction.resourceExists"),
WorkbenchMessages.format(
"RenameResourceAction.overwriteQuestion",
new Object[] { DUMMY_RELATIVE_PATH }));
DialogCheck.assertDialogTexts(dialog, this);
}
public void testResetPerspective() {
Dialog dialog = new MessageDialog(getShell(), WorkbenchMessages
.getString("ResetPerspective.title"), null, WorkbenchMessages
.format("ResetPerspective.message",
new Object[] { "Dummy Perspective" }),
MessageDialog.QUESTION, new String[] {
IDialogConstants.OK_LABEL,
IDialogConstants.CANCEL_LABEL }, 0);
DialogCheck.assertDialogTexts(dialog, this);
}
public void testSaveAsOverwrite() {
Dialog dialog = new MessageDialog(getShell(), WorkbenchMessages
.getString("Question"), null, WorkbenchMessages.format(
"SaveAsDialog.overwriteQuestion",
new Object[] { DUMMY_RELATIVE_PATH }), MessageDialog.QUESTION,
new String[] { IDialogConstants.YES_LABEL,
IDialogConstants.NO_LABEL,
IDialogConstants.CANCEL_LABEL }, 0);
DialogCheck.assertDialogTexts(dialog, this);
}
public void testSaveChanges() {
Dialog dialog = new MessageDialog(getShell(), WorkbenchMessages
.getString("Save_Resource"), null, WorkbenchMessages.format(
"EditorManager.saveChangesQuestion",
new Object[] { DUMMY_RESOURCE }), MessageDialog.QUESTION,
new String[] { IDialogConstants.YES_LABEL,
IDialogConstants.NO_LABEL,
IDialogConstants.CANCEL_LABEL }, 0);
DialogCheck.assertDialogTexts(dialog, this);
}
public void testSaveFileDeleted() {
MessageDialog dialog = null;
ResourceBundle bundle = ResourceBundle
.getBundle("org.eclipse.ui.texteditor.EditorMessages");
if (bundle != null) {
dialog = new MessageDialog(
getShell(),
bundle
.getString("Editor.error.activated.deleted.save.title"),
null,
bundle
.getString("Editor.error.activated.deleted.save.message"),
MessageDialog.QUESTION,
new String[] {
bundle
.getString("Editor.error.activated.deleted.save.button.save"),
bundle
.getString("Editor.error.activated.deleted.save.button.close") },
0);
}
DialogCheck.assertDialogTexts(dialog, this);
}
public void testUpdateConflict() {
MessageDialog dialog = null;
ResourceBundle bundle = ResourceBundle
.getBundle("org.eclipse.ui.texteditor.EditorMessages");
if (bundle != null) {
dialog = getQuestionDialog(bundle
.getString("Editor.error.save.outofsync.title"), bundle
.getString("Editor.error.save.outofsync.message"));
}
DialogCheck.assertDialogTexts(dialog, this);
}
public void testWizardClosing() {
Dialog dialog = new MessageDialog(getShell(), JFaceResources
.getString("WizardClosingDialog.title"), null, JFaceResources
.getString("WizardClosingDialog.message"),
MessageDialog.QUESTION,
new String[] { IDialogConstants.OK_LABEL }, 0);
DialogCheck.assertDialogTexts(dialog, this);
}
public void testWizardOverwrite() {
Dialog dialog = new MessageDialog(getShell(), WorkbenchMessages
.getString("Question"), null, WorkbenchMessages.format(
"WizardDataTransfer.existsQuestion",
new Object[] { DUMMY_ABSOLUTE_PATH }), MessageDialog.QUESTION,
new String[] { IDialogConstants.YES_LABEL,
IDialogConstants.YES_TO_ALL_LABEL,
IDialogConstants.NO_LABEL,
IDialogConstants.CANCEL_LABEL }, 0);
DialogCheck.assertDialogTexts(dialog, this);
}
}