/** * Open (expand, file->editor, branch->checkout) * * @throws Exception */ @Test public void testOpen() throws Exception { // expand first level SWTBotTree tree = getOrOpenView().bot().tree(); SWTBotTreeItem item = myRepoViewUtil.getRootItem(tree, repositoryFile); item.collapse(); refreshAndWait(); item = myRepoViewUtil.getRootItem(tree, repositoryFile); assertTrue("Item should not be expanded", !item.isExpanded()); item.doubleClick(); assertTrue("Item should be expanded", item.isExpanded()); // open a file in editor item = myRepoViewUtil.getWorkdirItem(tree, repositoryFile).expand(); SWTBotTreeItem fileiItem = item.getNode(PROJ1).expand().getNode(FOLDER).expand().getNode(FILE1).select(); fileiItem.doubleClick(); assertTrue(bot.activeEditor().getTitle().equals(FILE1)); bot.activeEditor().close(); // open a branch (checkout) checkoutWithDoubleClick(tree, "master"); String contentMaster = getTestFileContent(); checkoutWithDoubleClick(tree, "stable"); TestUtil.joinJobs(JobFamilies.CHECKOUT); String contentStable = getTestFileContent(); assertNotEquals("Content of master and stable should differ", contentMaster, contentStable); }
/** Import a gzip trace */ @Test public void testGzipImport() { final String traceType = "Test trace : TMF Tests"; final String tracesNode = "Traces [1]"; /* * Actual importing */ openImportWizard(); selectImportFromArchive(fGzipTrace.getAbsolutePath()); selectFolder(ROOT_FOLDER); SWTBotCheckBox checkBox = fBot.checkBox(Messages.ImportTraceWizard_CreateLinksInWorkspace); assertFalse(checkBox.isEnabled()); SWTBotCombo comboBox = fBot.comboBoxWithLabel(Messages.ImportTraceWizard_TraceType); comboBox.setSelection(traceType); importFinish(); /* * Remove .gz extension */ assertNotNull(fGzipTrace); String name = fGzipTrace.getName(); assertNotNull(name); assertTrue(name.length() > 3); String traceName = name.substring(0, name.length() - 3); assertNotNull(traceName); assertFalse(traceName.isEmpty()); /* * Open trace */ SWTBotView projectExplorer = fBot.viewById(IPageLayout.ID_PROJECT_EXPLORER); projectExplorer.setFocus(); final SWTBotTree tree = projectExplorer.bot().tree(); /* * This appears to be problematic due to the length of the file name and * the resolution in our CI. */ tree.expandNode(PROJECT_NAME, true); SWTBotTreeItem treeItem = tree.getTreeItem(PROJECT_NAME); fBot.waitUntil(ConditionHelpers.IsTreeChildNodeAvailable(tracesNode, treeItem)); treeItem = treeItem.getNode(tracesNode); fBot.waitUntil(ConditionHelpers.IsTreeChildNodeAvailable(traceName, treeItem)); treeItem = treeItem.getNode(traceName); treeItem.doubleClick(); SWTBotUtils.waitForJobs(); /* * Check results */ SWTBotTable editor = fBot.activeEditor().bot().table(); String c22 = editor.cell(2, 2); String c10 = editor.cell(1, 0); assertEquals("Type-1", c22); assertEquals("", c10); }
/** * Link with editor, both ways * * @throws Exception */ @Test @Ignore("'Link with Selection' does not activate editor on selection change (bug 409722).") public void testLinkWithSelectionEditor() throws Exception { deleteAllProjects(); shareProjects(repositoryFile); SWTBotTree tree = getOrOpenView().bot().tree(); myRepoViewUtil.getRootItem(tree, repositoryFile).select(); // the selection should be root assertTrue(tree.selection().get(0, 0).startsWith(REPO1)); SWTBotView view = TestUtil.showExplorerView(); SWTBotTree projectExplorerTree = view.bot().tree(); SWTBotTreeItem item = getProjectItem(projectExplorerTree, PROJ1).expand().getNode(FOLDER).expand().getNode(FILE1); view.show(); item.doubleClick(); item = getProjectItem(projectExplorerTree, PROJ1).expand().getNode(FOLDER).expand().getNode(FILE2); view.show(); item.doubleClick(); // now we should have two editors // the selection should be still be root assertTrue(tree.selection().get(0, 0).startsWith(REPO1)); // activate the link with selection toggleLinkWithSelection(); bot.editorByTitle(FILE2).show(); // the selection should have changed to the latest editor TestUtil.waitUntilTreeHasSelectedNodeWithText(bot, tree, FILE2, 10000); bot.editorByTitle(FILE1).show(); // selection should have changed TestUtil.waitUntilTreeHasSelectedNodeWithText(bot, tree, FILE1, 10000); // deactivate the link with editor toggleLinkWithSelection(); bot.editorByTitle(FILE2).show(); // the selection should be still be test.txt TestUtil.waitUntilTreeHasSelectedNodeWithText(bot, tree, FILE1, 10000); bot.editorByTitle(FILE1).show(); myRepoViewUtil .getWorkdirItem(tree, repositoryFile) .expand() .getNode(PROJ1) .expand() .getNode(FOLDER) .expand() .getNode(FILE2) .select(); // the editor should still be test.txt assertEquals(FILE1, bot.activeEditor().getTitle()); // activate again toggleLinkWithSelection(); // make sure focus is here // tried to remove this waitInUI but failed. // tried setting focus, waiting for focus, joining RepositoriesView // refresh job waitInUI(); myRepoViewUtil .getWorkdirItem(tree, repositoryFile) .expand() .getNode(PROJ1) .expand() .getNode(FOLDER) .expand() .getNode(FILE2) .select(); TestUtil.waitUntilEditorIsActive(bot, bot.editorByTitle(FILE2), 10000); myRepoViewUtil .getWorkdirItem(tree, repositoryFile) .expand() .getNode(PROJ1) .expand() .getNode(FOLDER) .expand() .getNode(FILE1) .select(); TestUtil.waitUntilEditorIsActive(bot, bot.editorByTitle(FILE1), 10000); // deactivate the link with editor toggleLinkWithSelection(); myRepoViewUtil .getWorkdirItem(tree, repositoryFile) .expand() .getNode(PROJ1) .expand() .getNode(FOLDER) .expand() .getNode(FILE2) .select(); TestUtil.waitUntilEditorIsActive(bot, bot.editorByTitle(FILE1), 10000); }