use of org.eclipse.swtbot.swt.finder.widgets.SWTBotShell in project linuxtools by eclipse.
the class TestCreateSystemtapScript method setupGraphWithTests.
private static void setupGraphWithTests(String title, boolean isTab) {
SWTBotShell firstShell = bot.activeShell();
openGraphMenu(isTab);
SWTBotShell shell = bot.shell("Create Graph");
shell.setFocus();
SWTBotText text = bot.textWithLabel("Title:");
text.setText(title);
assertEquals(title, text.getText());
SWTBotCombo comboX = bot.comboBoxWithLabel("X Series:");
// X Series includes "Row Num" as a selection
assertEquals(3, comboX.itemCount());
SWTBotCombo comboY0 = bot.comboBoxWithLabel("Y Series 0:");
// Y Series 0 only includes series entries
assertEquals(2, comboY0.itemCount());
comboY0.setSelection(0);
SWTBotCombo comboY1 = bot.comboBoxWithLabel("Y Series 1:");
// Y Series (i>0) has extra "NA" option as first entry
assertEquals(3, comboY1.itemCount());
comboY1.setSelection(1);
// Don't allow duplicate selections
assertFalse(bot.button("Finish").isEnabled());
comboY1.setSelection(2);
bot.button("Finish").click();
bot.waitUntil(Conditions.shellCloses(shell));
firstShell.setFocus();
}
use of org.eclipse.swtbot.swt.finder.widgets.SWTBotShell in project linuxtools by eclipse.
the class CreateChangeLogFromHistorySWTBotTest method canPrepareChangeLogFromSVNHistory.
/**
* Create changelog from SVN history (commit messages).
*
* @throws Exception
*/
@Test
@Ignore
public void canPrepareChangeLogFromSVNHistory() throws Exception {
// select ChangeLog file
String teamProviderString = "[changelog/trunk/" + PROJECT_NAME + "]";
SWTBotTreeItem projectItem = ProjectExplorer.expandProject(projectExplorerViewTree, PROJECT_NAME, teamProviderString);
long oldTimeout = SWTBotPreferences.TIMEOUT;
SWTBotPreferences.TIMEOUT = 5000;
bot.waitUntil(new ProjectExplorerTreeItemAppearsCondition(projectExplorerViewTree, PROJECT_NAME, teamProviderString, "ChangeLog"));
SWTBotPreferences.TIMEOUT = oldTimeout;
SWTBotTreeItem changeLogItem = ProjectExplorer.getProjectItem(projectItem, "ChangeLog");
changeLogItem.select();
// open history for ChangeLog file
clickOnShowHistory(projectExplorerViewTree);
SWTBot historyViewBot = bot.viewByTitle("History").bot();
// wait for SVN revision table to appear
oldTimeout = SWTBotPreferences.TIMEOUT;
SWTBotPreferences.TIMEOUT = 3 * 5000;
historyViewBot.waitUntil(new TableAppearsCondition());
SWTBotPreferences.TIMEOUT = oldTimeout;
SWTBotTable historyTable = historyViewBot.table();
// select the first row
historyTable.select(0);
// right-click => Generate Changelog...
clickOnGenerateChangeLog(historyTable);
SWTBotShell shell = bot.shell("Generate ChangeLog").activate();
SWTBot generateChangelogBot = shell.bot();
generateChangelogBot.radio("Clipboard").click();
generateChangelogBot.button("OK").click();
// create and open a new file for pasting
String pasteFile = "newFile";
IFile newFile = project.getFile(new Path(pasteFile));
newFile.create(new ByteArrayInputStream("".getBytes()), /* empty content */
false, null);
project.refreshLocal(IResource.DEPTH_INFINITE, null);
assertNotNull(project.findMember(new Path(pasteFile)));
ProjectExplorer.expandProject(projectExplorerViewTree, PROJECT_NAME, teamProviderString).expandNode(pasteFile).select().doubleClick();
Matcher<IEditorReference> editorMatcher = allOf(IsInstanceOf.instanceOf(IEditorReference.class), withPartName(pasteFile));
bot.waitUntil(Conditions.waitForEditor(editorMatcher));
oldTimeout = SWTBotPreferences.TIMEOUT;
SWTBotPreferences.TIMEOUT = oldTimeout;
SWTBotEditor swtBoteditor = bot.activeEditor();
assertEquals(pasteFile, swtBoteditor.getTitle());
SWTBotEclipseEditor eclipseEditor = swtBoteditor.toTextEditor();
// go to beginning of editor
eclipseEditor.selectRange(0, 0, 0);
// paste
eclipseEditor.pressShortcut(Keystrokes.CTRL, KeyStroke.getInstance("V"));
swtBoteditor.save();
// make sure some changelog like text was pasted
String text = eclipseEditor.getText();
assertFalse(text.isEmpty());
}
use of org.eclipse.swtbot.swt.finder.widgets.SWTBotShell in project linuxtools by eclipse.
the class PreferencesTest method testProfileProjectActions.
private void testProfileProjectActions(SWTWorkbenchBot bot) throws Exception {
testPreferencesPage();
// Focus on project explorer view.
// $NON-NLS-1$
SWTBotView projectExplorer = bot.viewByTitle("Project Explorer");
projectExplorer.bot().tree().select(PROJ_NAME);
final Shell shellWidget = bot.activeShell().widget;
// Open profiling configurations dialog
UIThreadRunnable.asyncExec(() -> {
DebugUITools.openLaunchConfigurationDialogOnGroup(shellWidget, (StructuredSelection) PlatformUI.getWorkbench().getWorkbenchWindows()[0].getSelectionService().getSelection(), // $NON-NLS-1$
"org.eclipse.debug.ui.launchGroup.profilee");
});
// $NON-NLS-1$
SWTBotShell shell = bot.shell("Profiling Tools Configurations");
shell.activate();
// Create new profiling configuration
SWTBotTree profilingConfigs = bot.tree();
// $NON-NLS-1$
SWTBotTree perfNode = profilingConfigs.select("Profile Timing");
// $NON-NLS-1$
perfNode.contextMenu("New").click();
// $NON-NLS-1$
bot.button("Profile").click();
bot.waitUntil(Conditions.shellCloses(shell));
// Assert that the expected tool is running.
// $NON-NLS-1$
SWTBotShell profileShell = bot.shell("Successful profile launch").activate();
assertNotNull(profileShell);
// $NON-NLS-1$
bot.button("Apply and Close").click();
bot.waitUntil(shellCloses(profileShell));
}
use of org.eclipse.swtbot.swt.finder.widgets.SWTBotShell in project linuxtools by eclipse.
the class PreferencesTest method checkDefaultPreference.
private static void checkDefaultPreference(String preferenceCategory, String profilingType) {
SWTWorkbenchBot bot = new SWTWorkbenchBot();
// Open preferences shell.
// $NON-NLS-1$
SWTBotMenu windowsMenu = bot.menu("Window");
// $NON-NLS-1$
windowsMenu.menu("Preferences").click();
// $NON-NLS-1$
SWTBotShell shell = bot.shell("Preferences");
shell.activate();
// Go to specified tree item in "Profiling Categories" preferences page.
bot.text().setText(preferenceCategory);
bot.waitUntil(new NodeAvailableAndSelect(bot.tree(), "C/C++", "Profiling", "Categories", // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
preferenceCategory));
// Restore defaults.
// $NON-NLS-1$
bot.button("Restore Defaults").click();
// $NON-NLS-1$
bot.button("Apply").click();
// Get information for default tool.
String defaultToolId = ProviderFramework.getProviderIdToRun(null, profilingType);
// $NON-NLS-1$
String defaultToolName = ProviderFramework.getToolInformationFromId(defaultToolId, "name");
// $NON-NLS-1$
String defaultToolInfo = ProviderFramework.getToolInformationFromId(defaultToolId, "information");
// $NON-NLS-1$
String defaultToolDescription = ProviderFramework.getToolInformationFromId(defaultToolId, "description");
// $NON-NLS-1$ //$NON-NLS-2$
String defaultToolLabel = defaultToolName + " [" + defaultToolDescription + "]";
// Assert default radio is as expected.
SWTBotRadio defaultRadio = bot.radio(defaultToolLabel);
assertNotNull(defaultRadio);
assertEquals(defaultToolInfo, defaultRadio.getToolTipText());
// $NON-NLS-1$
bot.button("Apply").click();
// $NON-NLS-1$
bot.button("Apply and Close").click();
}
use of org.eclipse.swtbot.swt.finder.widgets.SWTBotShell in project linuxtools by eclipse.
the class PreferencesTest method setUpWorkbench.
@BeforeClass
public static void setUpWorkbench() throws Exception {
// Set up is based from from GcovTest{c,CPP}.
SWTWorkbenchBot bot = new SWTWorkbenchBot();
try {
// $NON-NLS-1$
bot.viewByTitle("Welcome").close();
// hide Subclipse Usage stats popup if present/installed
// $NON-NLS-1$
bot.shell("Subclipse Usage").activate();
// $NON-NLS-1$
bot.button("Cancel").click();
} catch (WidgetNotFoundException e) {
// ignore
}
// Set C/C++ perspective.
// $NON-NLS-1$
bot.perspectiveByLabel("C/C++").activate();
bot.sleep(500);
for (SWTBotShell sh : bot.shells()) {
if (sh.getText().startsWith("C/C++")) {
// $NON-NLS-1$
sh.activate();
bot.sleep(500);
break;
}
}
// Turn off automatic building by default to avoid timing issues
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IWorkspaceDescription desc = workspace.getDescription();
boolean isAutoBuilding = desc.isAutoBuilding();
if (isAutoBuilding) {
desc.setAutoBuilding(false);
workspace.setDescription(desc);
}
}
Aggregations