From: Jan P. <jp...@us...> - 2007-07-26 14:32:51
|
Update of /cvsroot/e-p-i-c/org.epic.perleditor-test/src-pde/org/epic/debug In directory sc8-pr-cvs17:/tmp/cvs-serv10367/src-pde/org/epic/debug Modified Files: TestDebugger.java Log Message: Fixed a bug which would cause the test case to fail unexpectedly because the ShowGlobalVariables setting was not active. Index: TestDebugger.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.perleditor-test/src-pde/org/epic/debug/TestDebugger.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- TestDebugger.java 13 Jun 2007 17:28:45 -0000 1.3 +++ TestDebugger.java 26 Jul 2007 14:32:46 -0000 1.4 @@ -8,6 +8,7 @@ import org.eclipse.debug.core.*; import org.eclipse.debug.core.model.*; import org.eclipse.debug.ui.DebugUITools; +import org.eclipse.jface.action.*; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.*; import org.epic.perleditor.PerlEditorPlugin; @@ -135,11 +136,26 @@ public void testVariables() throws Exception { - launchDebuggerAndWait(testVariablesListener, false); - - String expected = readFile("test.in/TestDebugger-expected1.txt"); - String actual = testVariablesListener.getData(); - assertEquals(expected, actual); + boolean savedShowGlobalVariables = getShowVariablesPreference( + "org.epic.debug.showGlobalVariablesAction"); + + try + { + setShowVariablesPreference( + "org.epic.debug.showGlobalVariablesAction", true); + + launchDebuggerAndWait(testVariablesListener, false); + + String expected = readFile("test.in/TestDebugger-expected1.txt"); + String actual = testVariablesListener.getData(); + assertEquals(expected, actual); + } + finally + { + setShowVariablesPreference( + "org.epic.debug.showGlobalVariablesAction", + savedShowGlobalVariables); + } } private ILaunchConfiguration getLaunchConfig(String scriptName) @@ -230,6 +246,33 @@ } }); } + private IAction getShowVariablesAction(String id) + { + IViewPart variablesView = findView("org.eclipse.debug.ui.VariableView"); + IMenuManager man = + variablesView.getViewSite().getActionBars().getMenuManager(); + + ActionContributionItem item = + (ActionContributionItem) man.find(id); + + return item.getAction(); + } + + private boolean getShowVariablesPreference(String id) + { + return getShowVariablesAction(id).isChecked(); + } + + private void setShowVariablesPreference(String id, boolean value) + { + IAction action = getShowVariablesAction(id); + if (action.isChecked() != value) + { + action.setChecked(value); + action.run(); + } + } + private void stepInto(final IThread thread) { Display.getDefault().asyncExec(new Runnable() { |