use of org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor in project linuxtools by eclipse.
the class TestCreateSystemtapScript method testCreateScript.
@Test
public void testCreateScript() {
String scriptName = "testScript.stp";
createScript(bot, scriptName);
// Type a script
SWTBotEclipseEditor editor = bot.editorByTitle(scriptName).toTextEditor();
editor.typeText(0, editor.getText().length(), "\nprobe begin{log(\"began");
editor.typeText(0, editor.getText().length() - 1, "); exit(");
editor.typeText(0, editor.getText().length(), "}");
editor.save();
openRunConfigurations(scriptName);
SWTBotShell shell = bot.shell("Run Configurations");
shell.setFocus();
bot.tree().select("SystemTap").contextMenu("New").click();
}
use of org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor in project linuxtools by eclipse.
the class TestCreateSystemtapScript method prepareScript.
private static SWTBotShell prepareScript(String scriptName, String scriptContents) {
createScript(bot, scriptName);
if (scriptContents != null) {
SWTBotEclipseEditor editor = bot.editorByTitle(scriptName).toTextEditor();
editor.setText(scriptContents);
editor.save();
}
openRunConfigurations(scriptName);
SWTBotShell shell = bot.shell("Run Configurations");
shell.setFocus();
bot.tree().select("SystemTap").contextMenu("New").click();
// Select the "Graphing" tab and enable output graphing.
bot.cTabItem(Messages.SystemTapScriptGraphOptionsTab_graphingTitle).activate();
bot.checkBox(Messages.SystemTapScriptGraphOptionsTab_graphOutputRun).click();
return shell;
}
use of org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor in project linuxtools by eclipse.
the class AddChangelogEntrySWTBotTest method canAddChangeLogEntryUsingEditMenuIfSourceIsActive.
/**
* ChangeLog editor should pop-up if inside an active editor
* and a ChangeLog file exists in the project. Tests the "Edit" => "ChangeLog Entry"
* menu item.
*
* @throws Exception
*/
@Test
public void canAddChangeLogEntryUsingEditMenuIfSourceIsActive() throws Exception {
// Add a Java source file
String sourceCode = "package src;\n" + "public class JavaTest {\n" + "public static void main(String args[]) {\n" + "//" + OFFSET_MARKER + "\n" + "System.out.println(\"Hello World!\");\n" + "}\n" + "}\n";
assertNull(project.getTestProject().findMember(new Path("/src/JavaTest.java")));
InputStream newFileInputStream = new ByteArrayInputStream(sourceCode.getBytes());
project.addFileToProject("/src", "JavaTest.java", newFileInputStream);
// Add a changelog file
newFileInputStream = new ByteArrayInputStream("".getBytes());
project.addFileToProject("/", "ChangeLog", newFileInputStream);
assertNotNull(project.getTestProject().findMember(new Path("/src/JavaTest.java")));
assertNotNull(project.getTestProject().findMember(new Path("/ChangeLog")));
// Open JavaTest.java in an editor
SWTBotTreeItem projectItem = projectExplorerViewTree.expandNode(PROJECT_NAME);
projectItem.expandNode("src").expandNode("JavaTest.java").doubleClick();
Matcher<IEditorReference> editorMatcher = allOf(IsInstanceOf.instanceOf(IEditorReference.class), withPartName("JavaTest.java"));
// Wait for editor to open
bot.waitUntil(Conditions.waitForEditor(editorMatcher));
SWTBotEditor swtBoteditor = bot.editorByTitle("JavaTest.java");
SWTBotEclipseEditor eclipseEditor = swtBoteditor.toTextEditor();
eclipseEditor.selectLine(getLineOfOffsetMarker(sourceCode));
// Click menu item.
bot.menu("Edit").menu("Insert ChangeLog entry").click();
// Wait for ChangeLog editor to open
editorMatcher = allOf(IsInstanceOf.instanceOf(IEditorReference.class), withPartName("ChangeLog"));
bot.waitUntil(Conditions.waitForEditor(editorMatcher));
swtBoteditor = bot.activeEditor();
// save to avoid "save changes"-pop-up
swtBoteditor.save();
assertEquals("ChangeLog", swtBoteditor.getTitle());
eclipseEditor = swtBoteditor.toTextEditor();
// make sure expected entry has been added.
assertTrue(eclipseEditor.getText().contains("* src/JavaTest.java"));
}
use of org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor in project linuxtools by eclipse.
the class FormatChangeLogSWTBotTest method canFormatChangeLogFile.
/**
* Simple test for ChangeLog formatting.
*
* @throws Exception
*/
@Test
public void canFormatChangeLogFile() throws Exception {
// add a ChangeLog file
assertNull(project.getTestProject().findMember(new Path("/ChangeLog")));
final String changelogContent = "2010-12-14 Severin Gehwolf <sgehwolf@redhat.com>\n\n" + "\tAdded org.eclipse.linuxtools.changelog.tests.ui plug-in.\n" + "\t* .classpath: New file.\n" + "\t* .project: New file.\n" + "\t* .settings/org.eclipse.jdt.core.prefs: New file.\n" + "\t* build.properties: New file.\n" + "\t* src/log4j.xml: New file.\n" + "\t* src/org/eclipse/linuxtools/changelog/tests/ui/utils/ContextMenuHelper.java: New file.\n" + "\t* src/org/eclipse/linuxtools/changelog/tests/ui/utils/ProjectExplorer.java: New file.\n" + "\t* src/org/eclipse/linuxtools/changelog/tests/ui/utils/ProjectExplorerTreeItemAppearsCondition.java: New file.\n";
project.addFileToProject("/", "ChangeLog", new ByteArrayInputStream(changelogContent.getBytes()));
assertNotNull(project.getTestProject().findMember(new Path("/ChangeLog")));
// select ChangeLog file
String teamProviderString = "n/a";
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");
// should open ChangeLog file
changeLogItem.doubleClick();
oldTimeout = SWTBotPreferences.TIMEOUT;
SWTBotPreferences.TIMEOUT = 3 * 5000;
// Wait for ChangeLog editor to open
Matcher<IEditorReference> editorMatcher = allOf(IsInstanceOf.instanceOf(IEditorReference.class), withPartName("ChangeLog"));
bot.waitUntil(Conditions.waitForEditor(editorMatcher));
SWTBotEditor swtBoteditor = bot.activeEditor();
assertEquals("ChangeLog", swtBoteditor.getTitle());
SWTBotEclipseEditor swtBotEclipseEditor = swtBoteditor.toTextEditor();
// Add two extra lines after the first date line
swtBotEclipseEditor.insertText(1, 0, "\n\n");
// Should have 3 empty lines between date-line and first file entry
swtBotEclipseEditor.selectRange(1, 0, 3);
// format: ESC CTRL+F
swtBotEclipseEditor.pressShortcut(Keystrokes.ESC);
swtBotEclipseEditor.pressShortcut(Keystrokes.CTRL, KeyStroke.getInstance("F"));
swtBoteditor.save();
}
use of org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEclipseEditor in project linuxtools by eclipse.
the class PrepareChangelogSWTBotTest method canPrepareChangeLog.
/**
* Basic prepare changelog test.
*
* @throws Exception
*/
@Test
@Ignore
public void canPrepareChangeLog() throws Exception {
// Find manifest file
IResource manifest = project.findMember(new Path("/META-INF/MANIFEST.MF"));
assertNotNull(manifest);
// delete it
manifest.delete(true, null);
project.refreshLocal(IResource.DEPTH_INFINITE, null);
// select ChangeLog file
String teamProviderString = "[changelog/trunk/" + PROJECT_NAME + "]";
SWTBotTreeItem projectItem = ProjectExplorer.expandProject(projectExplorerViewTree, PROJECT_NAME, teamProviderString);
SWTBotTreeItem changeLogItem = ProjectExplorer.getProjectItem(projectItem, "ChangeLog");
changeLogItem.select();
// Should be unique
bot.menu("Prepare ChangeLog").click();
long oldTimeout = SWTBotPreferences.TIMEOUT;
SWTBotPreferences.TIMEOUT = 3 * 5000;
// Wait for ChangeLog editor to open
Matcher<IEditorReference> editorMatcher = allOf(IsInstanceOf.instanceOf(IEditorReference.class), withPartName("ChangeLog"));
bot.waitUntil(Conditions.waitForEditor(editorMatcher));
SWTBotPreferences.TIMEOUT = oldTimeout;
SWTBotEditor swtBoteditor = bot.activeEditor();
// save to avoid "save changes"-pop-up
swtBoteditor.save();
assertEquals("ChangeLog", swtBoteditor.getTitle());
SWTBotEclipseEditor eclipseEditor = swtBoteditor.toTextEditor();
// make sure expected entry has been added.
assertTrue(matchHead(eclipseEditor.getText(), "\t* META-INF/MANIFEST.MF:", 3));
}
Aggregations