1 21 22 package gui.debuggercore; 23 24 import java.awt.event.KeyEvent ; 25 import java.io.File ; 26 import junit.textui.TestRunner; 27 import org.netbeans.jellytools.Bundle; 28 import org.netbeans.jellytools.EditorOperator; 29 import org.netbeans.jellytools.JellyTestCase; 30 import org.netbeans.jellytools.MainWindowOperator; 31 import org.netbeans.jellytools.ProjectsTabOperator; 32 import org.netbeans.jellytools.actions.Action; 33 import org.netbeans.jellytools.actions.DebugProjectAction; 34 import org.netbeans.jellytools.actions.OpenAction; 35 import org.netbeans.jellytools.modules.debugger.actions.ContinueAction; 36 import org.netbeans.jellytools.modules.debugger.actions.RunToCursorAction; 37 import org.netbeans.jellytools.modules.debugger.actions.StepIntoAction; 38 import org.netbeans.jellytools.modules.debugger.actions.StepOutAction; 39 import org.netbeans.jellytools.modules.debugger.actions.StepOverAction; 40 import org.netbeans.jellytools.nodes.Node; 41 import org.netbeans.jellytools.nodes.SourcePackagesNode; 42 import org.netbeans.jemmy.EventTool; 43 import org.netbeans.jemmy.JemmyProperties; 44 import org.netbeans.jemmy.operators.ContainerOperator; 45 import org.netbeans.jemmy.operators.JPopupMenuOperator; 46 import org.netbeans.jemmy.util.PNGEncoder; 47 import org.netbeans.junit.NbTestSuite; 48 49 53 public class Actions extends JellyTestCase { 54 55 public Actions(String name) { 56 super(name); 57 } 58 59 public static void main(String [] args) { 60 TestRunner.run(suite()); 61 } 62 63 public static NbTestSuite suite() { 64 NbTestSuite suite = new NbTestSuite(); 65 suite.addTest(new Actions("testCheckEnabledActions")); 66 suite.addTest(new Actions("testCheckEnabledActionsDebugging")); 67 suite.addTest(new Actions("testToggleBreakpoints")); 68 suite.addTest(new Actions("testStartDebugging")); 69 suite.addTest(new Actions("testStepInto")); 70 suite.addTest(new Actions("testStepOver")); 71 suite.addTest(new Actions("testRunToCursor")); 72 suite.addTest(new Actions("testStepOut")); 73 suite.addTest(new Actions("testRemoveBreakpoint")); 74 suite.addTest(new Actions("testContinue")); 75 suite.addTest(new Actions("testStepOverExpression")); 76 suite.addTest(new Actions("testPause")); 77 return suite; 78 } 79 80 81 public void setUp() { 82 System.out.println("######## "+getName()+" #######"); 83 } 84 85 public void tearDown() { 86 JemmyProperties.getCurrentOutput().printTrace("\nteardown\n"); 87 if (getName().equals("testPause")) { 88 Utilities.endAllSessions(); 89 Utilities.deleteAllBreakpoints(); 90 } 91 } 92 93 public void testCheckEnabledActions() throws Throwable { 94 try { 95 new Action(null, Utilities.setMainProjectAction).perform(new ProjectsTabOperator().getProjectRootNode(Utilities.testProjectName)); 96 97 Node projectNode = ProjectsTabOperator.invoke().getProjectRootNode(Utilities.testProjectName); 98 Utilities.verifyPopup(projectNode, new String [] { 99 Bundle.getString("org.netbeans.modules.java.j2seproject.ui.Bundle", "LBL_BuildAction_Name"), 101 Bundle.getString("org.netbeans.modules.java.j2seproject.ui.Bundle", "LBL_RunAction_Name"), 103 Bundle.getString("org.netbeans.modules.java.j2seproject.ui.Bundle", "LBL_DebugAction_Name") 105 }); 106 107 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.debugMainProjectItem, true)); 110 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.stepIntoItem, true)); 112 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.newBreakpointItem, true)); 114 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.newWatchItem, true)); 116 assertFalse(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.finishSessionsItem, false)); 119 assertFalse(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.pauseItem, false)); 121 assertFalse(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.continueItem, false)); 123 assertFalse(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.stepOverItem, false)); 125 assertFalse(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.stepOverExpresItem, false)); 127 assertFalse(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.stepOutItem, false)); 129 assertFalse(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.runToCursorItem, false)); 131 assertFalse(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.runIntoMethodItem, false)); 133 assertFalse(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.applyCodeChangesItem, false)); 135 assertFalse(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.toggleBreakpointItem, false)); 137 assertFalse(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.evaluateExpressionItem, false)); 139 MainWindowOperator.getDefault().pushKey(KeyEvent.VK_ESCAPE); 140 141 Node beanNode = new Node(new SourcePackagesNode(Utilities.testProjectName), "examples.advanced|MemoryView.java"); new OpenAction().performAPI(beanNode); EditorOperator eo = new EditorOperator("MemoryView.java"); 145 Utilities.setCaret(eo, 80); 146 new EventTool().waitNoEvent(1000); String actionName = Bundle.getStringTrimmed("org.netbeans.modules.project.ui.actions.Bundle", "LBL_RunSingleAction_Name", new Object [] {new Integer (1), "MemoryView.java"}); 150 assertTrue(Utilities.runMenu+"|"+Utilities.runFileMenu+"|"+actionName+" is not enabled", Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.runFileMenu+"|"+actionName, true)); 151 actionName = Bundle.getStringTrimmed("org.netbeans.modules.project.ui.actions.Bundle", "LBL_DebugSingleAction_Name", new Object [] {new Integer (1), "MemoryView.java"}); 153 assertTrue(Utilities.runMenu+"|"+Utilities.runFileMenu+"|"+actionName+" is not enabled", Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.runFileMenu+"|"+actionName, true)); 154 assertTrue(Utilities.runMenu+"|"+Utilities.runToCursorItem+" is not enabled", Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.runToCursorItem, true)); 156 assertTrue(Utilities.runMenu+"|"+Utilities.toggleBreakpointItem+" is not enabled", Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.toggleBreakpointItem, true)); 158 MainWindowOperator.getDefault().pushKey(KeyEvent.VK_ESCAPE); 159 MainWindowOperator.getDefault().pushKey(KeyEvent.VK_ESCAPE); 160 161 JPopupMenuOperator operator = new JPopupMenuOperator(JPopupMenuOperator.callPopup(eo, 50, 50)); 163 Utilities.verifyPopup(operator, new String [] { 164 Bundle.getString("org.netbeans.modules.java.project.Bundle", "LBL_DebugFile_Action"), 166 Bundle.getString("org.netbeans.editor.Bundle", "add-watch"), 168 Bundle.getString("org.netbeans.editor.Bundle", "toggle-breakpoint") 170 }); 171 172 for (int i=0;i < MainWindowOperator.getDefault().getToolbarCount();i++) { 175 assertFalse(MainWindowOperator.getDefault().getToolbarName(i).equals(Utilities.debugToolbarLabel)); 176 } 177 ContainerOperator tbrop = MainWindowOperator.getDefault().getToolbar(Bundle.getString("org.netbeans.modules.project.ui.Bundle", "Toolbars/Build")); 179 assertTrue(MainWindowOperator.getDefault().getToolbarButton(tbrop, Bundle.getStringTrimmed("org.netbeans.modules.project.ui.actions.Bundle", "LBL_DebugMainProjectAction_Name")).isEnabled()); 180 assertTrue(MainWindowOperator.getDefault().getToolbarButton(tbrop, Bundle.getStringTrimmed("org.netbeans.modules.debugger.ui.actions.Bundle", "CTL_Connect")).isEnabled()); 181 182 eo.close(); 183 } catch (Throwable th) { 184 try { 185 PNGEncoder.captureScreen(getWorkDir().getAbsolutePath()+File.separator+"screenBeforeCleanup.png"); 187 } catch (Exception e1) { 188 } 190 throw th; 191 } 192 } 193 194 public void testCheckEnabledActionsDebugging() throws Throwable { 195 try { 196 Node projectNode = ProjectsTabOperator.invoke().getProjectRootNode(Utilities.testProjectName); 198 Node beanNode = new Node(new SourcePackagesNode(Utilities.testProjectName), "examples.advanced|MemoryView.java"); new OpenAction().performAPI(beanNode); EditorOperator eo = new EditorOperator("MemoryView.java"); 201 Utilities.toggleBreakpoint(eo, 104); 203 new DebugProjectAction().perform(projectNode); 205 Utilities.getDebugToolbar().waitComponentVisible(true); 206 Utilities.waitStatusText("Thread main stopped at MemoryView.java:104"); 208 210 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.debugMainProjectItem, true)); 213 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.stepIntoItem, true)); 215 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.newBreakpointItem, true)); 217 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.newWatchItem, true)); 219 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.finishSessionsItem, true)); 221 assertFalse(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.pauseItem, false)); 223 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.continueItem, true)); 225 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.stepOverItem, true)); 227 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.stepOverExpresItem, true)); 229 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.stepOutItem, true)); 231 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.runToCursorItem, true)); 233 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.runIntoMethodItem, true)); 235 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.applyCodeChangesItem, true)); 237 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.toggleBreakpointItem, true)); 239 assertTrue(Utilities.verifyMainMenu(Utilities.runMenu+"|"+Utilities.evaluateExpressionItem, true)); 241 MainWindowOperator.getDefault().pushKey(KeyEvent.VK_ESCAPE); 242 243 ContainerOperator debugToolbarOper = Utilities.getDebugToolbar(); 245 assertTrue(MainWindowOperator.getDefault().getToolbarButton(debugToolbarOper, 246 Bundle.getStringTrimmed("org.netbeans.modules.debugger.ui.actions.Bundle", "CTL_KillAction_name")).isEnabled()); 247 assertFalse(MainWindowOperator.getDefault().getToolbarButton(debugToolbarOper, 248 Bundle.getStringTrimmed("org.netbeans.modules.debugger.ui.actions.Bundle", "CTL_Pause_action_name")).isEnabled()); 249 assertTrue(MainWindowOperator.getDefault().getToolbarButton(debugToolbarOper, 250 Bundle.getStringTrimmed("org.netbeans.modules.debugger.ui.actions.Bundle", "CTL_Continue_action_name")).isEnabled()); 251 assertTrue(MainWindowOperator.getDefault().getToolbarButton(debugToolbarOper, 253 Bundle.getStringTrimmed("org.netbeans.modules.debugger.ui.actions.Bundle", "CTL_Step_over_action_name")).isEnabled()); 254 assertTrue(MainWindowOperator.getDefault().getToolbarButton(debugToolbarOper, 255 Bundle.getStringTrimmed("org.netbeans.modules.debugger.ui.actions.Bundle", "CTL_Step_into_action_name")).isEnabled()); 256 assertTrue(MainWindowOperator.getDefault().getToolbarButton(debugToolbarOper, 257 Bundle.getStringTrimmed("org.netbeans.modules.debugger.ui.actions.Bundle", "CTL_Step_out_action_name")).isEnabled()); 258 assertTrue(MainWindowOperator.getDefault().getToolbarButton(debugToolbarOper, 260 Bundle.getStringTrimmed("org.netbeans.modules.debugger.ui.actions.Bundle", "CTL_Run_to_cursor_action_name")).isEnabled()); 261 assertTrue(MainWindowOperator.getDefault().getToolbarButton(debugToolbarOper, 262 Bundle.getStringTrimmed("org.netbeans.modules.debugger.ui.actions.Bundle", "CTL_Fix_action_name")).isEnabled()); 263 assertTrue(MainWindowOperator.getDefault().getToolbarButton(debugToolbarOper, 264 Bundle.getStringTrimmed("org.netbeans.modules.debugger.ui.actions.Bundle", "CTL_New_Watch")).isEnabled()); 265 266 Utilities.toggleBreakpoint(eo, 104, false); 268 Utilities.endAllSessions(); 270 eo.close(); 272 } catch (Throwable th) { 273 try { 274 PNGEncoder.captureScreen(getWorkDir().getAbsolutePath()+File.separator+"screenBeforeCleanup.png"); 276 } catch (Exception e1) { 277 } 279 throw th; 280 } 281 } 282 283 public void testToggleBreakpoints() throws Throwable { 284 try { 285 Node projectNode = ProjectsTabOperator.invoke().getProjectRootNode(Utilities.testProjectName); 287 Node beanNode = new Node(new SourcePackagesNode(Utilities.testProjectName), "examples.advanced|MemoryView.java"); new OpenAction().performAPI(beanNode); EditorOperator eo = new EditorOperator("MemoryView.java"); 290 Utilities.toggleBreakpoint(eo, 80); 292 assertTrue("Breakpoint annotation is not displayed", Utilities.checkAnnotation(eo, 80, "Breakpoint")); 293 } catch (Throwable th) { 294 try { 295 PNGEncoder.captureScreen(getWorkDir().getAbsolutePath()+File.separator+"screenBeforeCleanup.png"); 297 } catch (Exception e1) { 298 } 300 throw th; 301 } 302 } 303 304 static int lastLineNumber = 0; 305 306 public void testStartDebugging() throws Throwable { 307 try { 308 Node projectNode = ProjectsTabOperator.invoke().getProjectRootNode(Utilities.testProjectName); 310 new DebugProjectAction().perform(projectNode); 311 Utilities.getDebugToolbar().waitComponentVisible(true); 312 Utilities.waitStatusText("Thread main stopped at MemoryView.java:80"); 314 EditorOperator eo = new EditorOperator("MemoryView.java"); 315 assertTrue("Breakpoint annotation is not on line 80", Utilities.checkAnnotation(eo, 80, "Breakpoint")); 316 assertTrue("Current PC annotation is not on line 80", Utilities.checkAnnotation(eo, 80, "CurrentPC")); 317 } catch (Throwable th) { 318 try { 319 PNGEncoder.captureScreen(getWorkDir().getAbsolutePath()+File.separator+"screenBeforeCleanup.png"); 321 } catch (Exception e1) { 322 } 324 throw th; 325 } 326 } 327 328 public void testStepInto() throws Throwable { 329 try { 330 new StepIntoAction().performShortcut(); 331 lastLineNumber = Utilities.waitDebuggerConsole("Thread main stopped at MemoryView.java:92", lastLineNumber+1); 332 EditorOperator eo = new EditorOperator("MemoryView.java"); 334 assertTrue("CurrentPC annotation is not on line 92", Utilities.checkAnnotation(eo, 92, "CurrentPC")); 335 assertTrue("Call Site annotation is not on line 80", Utilities.checkAnnotation(eo, 80, "CallSite")); 336 } catch (Throwable th) { 337 try { 338 PNGEncoder.captureScreen(getWorkDir().getAbsolutePath()+File.separator+"screenBeforeCleanup.png"); 340 } catch (Exception e1) { 341 } 343 throw th; 344 } 345 } 346 347 public void testStepOver() throws Throwable { 348 try { 349 new StepOverAction().performShortcut(); 350 lastLineNumber = Utilities.waitDebuggerConsole("Thread main stopped at MemoryView.java:93", lastLineNumber+1); 351 EditorOperator eo = new EditorOperator("MemoryView.java"); 353 assertFalse("CurrentPC annotation remains on line 92", Utilities.checkAnnotation(eo, 92, "CurrentPC")); 354 assertTrue("CurrentPC annotation is not on line 93", Utilities.checkAnnotation(eo, 93, "CurrentPC")); 355 } catch (Throwable th) { 356 try { 357 PNGEncoder.captureScreen(getWorkDir().getAbsolutePath()+File.separator+"screenBeforeCleanup.png"); 359 } catch (Exception e1) { 360 } 362 throw th; 363 } 364 } 365 366 public void testRunToCursor() throws Throwable { 367 try { 368 EditorOperator eo = new EditorOperator("MemoryView.java"); 369 Utilities.setCaret(eo, 109); 370 new RunToCursorAction().perform(); 372 lastLineNumber = Utilities.waitDebuggerConsole("Thread main stopped at MemoryView.java:109", lastLineNumber+1); 373 assertFalse("Current PC annotation remains on line 93", Utilities.checkAnnotation(eo, 93, "CurrentPC")); 375 assertTrue("Current PC annotation is not on line 109", Utilities.checkAnnotation(eo, 109, "CurrentPC")); 376 } catch (Throwable th) { 377 try { 378 PNGEncoder.captureScreen(getWorkDir().getAbsolutePath()+File.separator+"screenBeforeCleanup.png"); 380 } catch (Exception e1) { 381 } 383 throw th; 384 } 385 } 386 387 public void testStepOut() throws Throwable { 388 try { 389 new StepOutAction().performShortcut(); 390 lastLineNumber = Utilities.waitDebuggerConsole("Thread main stopped at MemoryView.java:80", lastLineNumber+1); 391 EditorOperator eo = new EditorOperator("MemoryView.java"); 393 assertFalse("Current PC annotation remains on line 109", Utilities.checkAnnotation(eo, 109, "CurrentPC")); 394 assertTrue("Current PC annotation is not on line 80", Utilities.checkAnnotation(eo, 80, "CurrentExpressionLine")); 395 } catch (Throwable th) { 396 try { 397 PNGEncoder.captureScreen(getWorkDir().getAbsolutePath()+File.separator+"screenBeforeCleanup.png"); 399 } catch (Exception e1) { 400 } 402 throw th; 403 } 404 } 405 406 public void testRemoveBreakpoint() throws Throwable { 407 try { 408 EditorOperator eo = new EditorOperator("MemoryView.java"); 409 Utilities.toggleBreakpoint(eo, 80, false); 411 assertFalse("Breakpoint annotation is not removed from line 80", Utilities.checkAnnotation(eo, 80, "Breakpoint")); 412 } catch (Throwable th) { 413 try { 414 PNGEncoder.captureScreen(getWorkDir().getAbsolutePath()+File.separator+"screenBeforeCleanup.png"); 416 } catch (Exception e1) { 417 } 419 throw th; 420 } 421 } 422 423 public void testContinue() throws Throwable { 424 try { 425 EditorOperator eo = new EditorOperator("MemoryView.java"); 426 Utilities.toggleBreakpoint(eo, 104, true); 428 new ContinueAction().perform(); 429 lastLineNumber = Utilities.waitDebuggerConsole("Thread main stopped at MemoryView.java:104", lastLineNumber+1); 430 assertFalse("Current PC annotation remains on line 80", Utilities.checkAnnotation(eo, 80, "CurrentPC")); 431 assertTrue("Current PC annotation is not on line 104", Utilities.checkAnnotation(eo, 104, "CurrentPC")); 432 Utilities.toggleBreakpoint(eo, 104, false); 433 } catch (Throwable th) { 434 try { 435 PNGEncoder.captureScreen(getWorkDir().getAbsolutePath()+File.separator+"screenBeforeCleanup.png"); 437 } catch (Exception e1) { 438 } 440 throw th; 441 } 442 } 443 444 public void testStepOverExpression() throws Throwable { 445 try { 446 EditorOperator eo = new EditorOperator("MemoryView.java"); 447 448 new Action(Utilities.runMenu+"|"+Utilities.stepOverExpresItem, null).perform(); 449 lastLineNumber = Utilities.waitDebuggerConsole("Thread main stopped at MemoryView.java:104", lastLineNumber+1); 450 assertTrue("CurrentExpressionLine annotation is not on line 105", Utilities.checkAnnotation(eo, 105, "CurrentExpressionLine")); 451 new Action(Utilities.runMenu+"|"+Utilities.stepOverExpresItem, null).perform(); 452 lastLineNumber = Utilities.waitDebuggerConsole("Thread main stopped at MemoryView.java:104", lastLineNumber+1); 453 assertTrue("CurrentExpressionLine annotation is not on line 106", Utilities.checkAnnotation(eo, 106, "CurrentExpressionLine")); 454 new Action(Utilities.runMenu+"|"+Utilities.stepOverExpresItem, null).perform(); 455 lastLineNumber = Utilities.waitDebuggerConsole("Thread main stopped at MemoryView.java:104", lastLineNumber+1); 456 assertTrue("CurrentExpressionLine annotation is not on line 107", Utilities.checkAnnotation(eo, 107, "CurrentExpressionLine")); 457 new Action(Utilities.runMenu+"|"+Utilities.stepOverExpresItem, null).perform(); 458 lastLineNumber = Utilities.waitDebuggerConsole("Thread main stopped at MemoryView.java:104", lastLineNumber+1); 459 assertTrue("CurrentExpressionLine annotation is not on line 104", Utilities.checkAnnotation(eo, 104, "CurrentExpressionLine")); 460 new Action(Utilities.runMenu+"|"+Utilities.stepOverExpresItem, null).perform(); 461 lastLineNumber = Utilities.waitDebuggerConsole("Thread main stopped at MemoryView.java:104", lastLineNumber+1); 462 assertTrue("CurrentExpressionLine annotation is not on line 104", Utilities.checkAnnotation(eo, 104, "CurrentExpressionLine")); 463 new Action(Utilities.runMenu+"|"+Utilities.stepOverExpresItem, null).perform(); 464 lastLineNumber = Utilities.waitDebuggerConsole("Thread main stopped at MemoryView.java:109", lastLineNumber+1); 465 assertTrue("Current PC annotation is not on line 109", Utilities.checkAnnotation(eo, 109, "CurrentPC")); 466 467 } catch (Throwable th) { 468 try { 469 PNGEncoder.captureScreen(getWorkDir().getAbsolutePath()+File.separator+"screenBeforeCleanup.png"); 471 } catch (Exception e1) { 472 } 474 throw th; 475 } 476 } 477 478 public void testPause() throws Throwable { 479 try { 480 EditorOperator eo = new EditorOperator("MemoryView.java"); 481 Utilities.toggleBreakpoint(eo, 80); 483 new ContinueAction().perform(); 485 lastLineNumber = Utilities.waitDebuggerConsole("Thread main stopped at MemoryView.java:80", lastLineNumber+1); 486 Utilities.toggleBreakpoint(eo, 80, false); 488 new ContinueAction().perform(); 490 String pausePath = Utilities.runMenu+"|"+Utilities.pauseItem; 491 for (int i = 0; i < 10; i++) { 492 if(MainWindowOperator.getDefault().menuBar().showMenuItem(pausePath).isEnabled()) { 493 new Action(pausePath, null).perform(); 494 } 495 MainWindowOperator.getDefault().menuBar().closeSubmenus(); 496 new EventTool().waitNoEvent(500); 497 } 498 Utilities.waitDebuggerConsole("Thread main stopped at ", lastLineNumber+1); 499 eo = new EditorOperator("MemoryView.java"); 500 boolean found = false; 501 for (int i = 79; i < 87; i++) { 502 if (Utilities.checkAnnotation(eo, i, "CallSite")) { 503 found = true; 504 break; 505 } 506 } 507 assertTrue("Call Site annotation is not in for cycle", found); 508 eo.closeAllDocuments(); 510 } catch (Throwable th) { 511 try { 512 PNGEncoder.captureScreen(getWorkDir().getAbsolutePath()+File.separator+"screenBeforeCleanup.png"); 514 } catch (Exception e1) { 515 } 517 throw th; 518 } 519 } 520 } 521 | Popular Tags |