use of org.python.pydev.debug.ui.launching.LaunchShortcut in project Pydev by fabioz.
the class PyCodeCoverageTestWorkbench method testPyCodeCoverageView.
public void testPyCodeCoverageView() throws Exception {
final PyCodeCoverageView view = PyCodeCoverageView.getView(true);
// At this point it should have no folder selected and the option to run things in coverage should be
// set to false.
assertTrue(!PyCoveragePreferences.getAllRunsDoCoverage());
assertTrue(PyCodeCoverageView.getChosenDir() == null);
assertTrue(!view.allRunsGoThroughCoverage.getSelection());
assertTrue(!PyCoveragePreferences.getInternalAllRunsDoCoverage());
view.allRunsGoThroughCoverage.setSelection(true);
view.allRunsGoThroughCoverage.notifyListeners(SWT.Selection, new Event());
assertTrue(PyCoveragePreferences.getInternalAllRunsDoCoverage());
assertTrue(!PyCoveragePreferences.getAllRunsDoCoverage());
view.setSelectedContainer(sourceFolder);
TreeViewer treeViewer = view.getTreeViewer();
ITreeContentProvider cp = (ITreeContentProvider) treeViewer.getContentProvider();
Object[] elements = cp.getElements(treeViewer.getInput());
assertEquals(1, elements.length);
ILabelProvider labelProvider = (ILabelProvider) treeViewer.getLabelProvider();
assertEquals("pack_cov", labelProvider.getText(elements[0]));
TestCaseUtils.assertContentsEqual(getInitialCoverageText(), view.getCoverageText());
Object[] expandedElements = treeViewer.getExpandedElements();
assertEquals(0, expandedElements.length);
treeViewer.expandAll();
expandedElements = treeViewer.getExpandedElements();
assertEquals(1, expandedElements.length);
view.executeRefreshAction(new NullProgressMonitor());
expandedElements = treeViewer.getExpandedElements();
assertEquals(1, expandedElements.length);
assertTrue(PyCoveragePreferences.getAllRunsDoCoverage());
final IWorkbench workBench = PydevPlugin.getDefault().getWorkbench();
Display display = workBench.getDisplay();
// Make sure to run the UI thread.
final PyEdit modCovEditor = (PyEdit) PyOpenEditor.doOpenEditor(modCov);
try {
display.syncExec(new Runnable() {
@Override
public void run() {
LaunchShortcut launchShortcut = new LaunchShortcut();
launchShortcut.launch(modCovEditor, "run");
}
});
final String modCovCoverageText = StringUtils.replaceNewLines(getModCovCoverageText(), "\n");
// Should be enough time for the refresh to happen!
goToManual(10000, new ICallback<Boolean, Object>() {
@Override
public Boolean call(Object arg) {
return modCovCoverageText.equals(StringUtils.replaceNewLines(view.getCoverageText(), "\n"));
}
});
TestCaseUtils.assertContentsEqual(modCovCoverageText, view.getCoverageText());
// goToManual();
} finally {
try {
modCovEditor.close(false);
} catch (Exception e) {
// ignore anything here
}
}
}
Aggregations