|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2002 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.test.gui.web.AppletDebug; import java.io.File; import org.netbeans.junit.NbTestSuite; import org.netbeans.junit.NbTestCase; import junit.framework.Test; import junit.framework.TestSuite; import org.netbeans.jellytools.EditorOperator; import org.netbeans.jellytools.ExplorerOperator; import org.netbeans.jellytools.JellyTestCase; import org.netbeans.jellytools.MainWindowOperator; import org.netbeans.jellytools.NbDialogOperator; import org.netbeans.jellytools.OutputWindowOperator; import org.netbeans.jellytools.actions.CompileAction; import org.netbeans.web.test.actions.AddBreakpointAction; import org.netbeans.web.test.actions.ContinueDebugAction; import org.netbeans.web.test.actions.FinishDebugAction; import org.netbeans.web.test.actions.RunToCursorAction; import org.netbeans.web.test.actions.StartDebugAction; import org.netbeans.web.test.actions.StepIntoAction; import org.netbeans.web.test.actions.ToggleBreakpointAction; import org.netbeans.jemmy.TimeoutExpiredException; import org.netbeans.jemmy.Waiter; import org.netbeans.web.test.util.Utils; import org.netbeans.test.gui.web.util.AppletResponseWaitable; import org.netbeans.test.gui.web.util.CommonUtils; import org.netbeans.test.gui.web.util.CompilationUtils; public class Debug extends JellyTestCase { private static String workDir = null; private static String tmpWebModule = null; private static String webModule = null; private static String wmName = "wm"; private static String testWMDir = "debug"; private static String delim = "|"; private static String osName = null; private static String netscape6 = "netscape6"; private static String netscape4x = "netscape"; private static ExplorerOperator explorer = null; private static EditorOperator editor = null; public Debug(String testName) { super(testName); } /** Use for execution inside IDE */ public static void main(java.lang.String[] args) { junit.textui.TestRunner.run(suite()); } public static Test suite() { workDir = System.getProperty("appletdebug.workdir").replace('/',File.separatorChar); webModule = workDir + File.separatorChar + wmName; workDir = webModule+delim+testWMDir; explorer = ExplorerOperator.invoke(); explorer.selectPageFilesystems(); Utils.handleDialogAfterNewWebModule(); TestSuite suite = new NbTestSuite(Debug.class); System.out.println("Test started"); osName = System.getProperty("os.name"); if(osName.indexOf("Windows")!=-1){ netscape6 = "netscp6"; netscape4x = "netscape -browser"; } //System.out.println("osName is: "+osName); return suite; } /** Start debugging applet via main menu item */ public void testStartDebugWithoutErrorsMenu() { editor = CommonUtils.openFile(workDir, "simpleJApplet"); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished simpleJApplet."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished simpleJApplet.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (new StartDebugAction()).performMenu(); try{ MainWindowOperator.getDefault().waitStatusText("Debugger starting"); MainWindowOperator.getDefault().waitStatusText("Debugger running"); }catch (Exception e){ fail("Output to status line is incorrect"); e.printStackTrace(); } checkCorrectAppletOutput("simpleJApplet"); finishDebugger(); } /** Start debugging applet via shortcut */ public void testStartDebugWithoutErrorsShortcut() { editor = CommonUtils.openFile(workDir, "simpleJApplet"); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished simpleJApplet."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished simpleJApplet.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (new StartDebugAction()).performShortcut(); try{ MainWindowOperator.getDefault().waitStatusText("Debugger starting"); MainWindowOperator.getDefault().waitStatusText("Debugger running"); }catch (Exception e){ fail("Output to status line is incorrect"); e.printStackTrace(); } checkCorrectAppletOutput("simpleJApplet"); finishDebugger(); } /** Start debugging applet via toolbar */ public void testStartDebugWithoutErrorsToolbar() { editor = CommonUtils.openFile(workDir, "simpleJApplet"); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished simpleJApplet."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished simpleJApplet.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Run in Debugger").push(); try{ MainWindowOperator.getDefault().waitStatusText("Debugger starting"); MainWindowOperator.getDefault().waitStatusText("Debugger running"); }catch (Exception e){ fail("Output to status line is incorrect"); e.printStackTrace(); } checkCorrectAppletOutput("simpleJApplet"); finishDebugger(); } /** Continue debugging via "Continue" menu item. */ public void testContinueDebugMenu() { CommonUtils.checkBreakpointExist("applet2", "debug/applet2", 28, workDir); editor = CommonUtils.openFile(workDir, "applet2"); //(new ToggleBreakpointAction()).performMenu(); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished applet2."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished applet2.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (new StartDebugAction()).performMenu(); checkDebuggerStoppedOnBreakpoint("debug.applet2", 28); (new ContinueDebugAction()).performMenu(); checkCorrectAppletOutput("applet2"); finishDebugger(); } /** Continue debugging via shortcut for "Continue" menu item. */ public void testContinueDebugShortcut() { CommonUtils.checkBreakpointExist("applet3", "debug/applet3", 28, workDir); editor = CommonUtils.openFile(workDir, "applet3"); //(new ToggleBreakpointAction()).performMenu(); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished applet3."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished applet3.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (new StartDebugAction()).performMenu(); checkDebuggerStoppedOnBreakpoint("debug.applet3", 28); MainWindowOperator.getDefault().requestFocus(); try { Thread.sleep(2000); } catch(Exception e) {} (new ContinueDebugAction()).performShortcut(); checkCorrectAppletOutput("applet3"); finishDebugger(); } /** Continue debugging via "Continue" button on toolbar. */ public void testContinueDebugToolbar() { CommonUtils.checkBreakpointExist("applet4", "debug/applet4", 28, workDir); editor = CommonUtils.openFile(workDir, "applet4"); //(new ToggleBreakpointAction()).performMenu(); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished applet4."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished applet4.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (new StartDebugAction()).performMenu(); checkDebuggerStoppedOnBreakpoint("debug.applet4", 28); (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Continue").push(); checkCorrectAppletOutput("applet4"); finishDebugger(); } /** Starting debugger via "Run to cursor" menu item. */ public void testRunToCursorMenu() { editor = CommonUtils.openFile(workDir, "applet5"); editor.setCaretPositionToLine(28); //(new ToggleBreakpointAction()).performMenu(); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished applet5."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished applet5.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (new RunToCursorAction()).performMenu(); checkDebuggerStoppedOnHiddenBreakpoint("applet5", 28); (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Continue").push(); checkCorrectAppletOutput("applet5"); finishDebugger(); } /** Starting debugger via shortcut for "Run to cursor" menu item. */ public void testRunToCursorShortcut() { editor = CommonUtils.openFile(workDir, "applet6"); editor.setCaretPositionToLine(28); //(new ToggleBreakpointAction()).performMenu(); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished applet6."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished applet6.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (new RunToCursorAction()).performShortcut(); checkDebuggerStoppedOnHiddenBreakpoint("applet6", 28); (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Continue").push(); checkCorrectAppletOutput("applet6"); finishDebugger(); } /** Starting debugger via "Run to cursor" toolbar button. */ public void testRunToCursorToolbar() { editor = CommonUtils.openFile(workDir, "applet7"); editor.setCaretPositionToLine(28); //(new ToggleBreakpointAction()).performMenu(); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished applet7."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished applet7.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (new RunToCursorAction()).performMenu(); checkDebuggerStoppedOnHiddenBreakpoint("applet7", 28); (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Continue").push(); checkCorrectAppletOutput("applet7"); finishDebugger(); } /** Starting debugger via "Step Into" menu item. */ public void testStepIntoMenu() { editor = CommonUtils.openFile(workDir, "applet8"); editor.setCaretPositionToLine(28); //(new ToggleBreakpointAction()).performMenu(); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished applet8."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished applet8.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (new StepIntoAction()).performMenu(); checkDebuggerStoppedInInit("debug.applet8", 16); (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Continue").push(); checkCorrectAppletOutput("applet8"); finishDebugger(); } /** Starting debugger via shortcut for "Step Into" menu item. */ public void testStepIntoShortcut() { editor = CommonUtils.openFile(workDir, "applet9"); editor.setCaretPositionToLine(28); //(new ToggleBreakpointAction()).performMenu(); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished applet9."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished applet9.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (new StepIntoAction()).performShortcut(); checkDebuggerStoppedInInit("debug.applet9", 16); (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Continue").push(); checkCorrectAppletOutput("applet9"); finishDebugger(); } /** Starting debugger via "Step Into" toolbar button. */ public void testStepIntoToolbar() { editor = CommonUtils.openFile(workDir, "applet10"); editor.setCaretPositionToLine(28); //(new ToggleBreakpointAction()).performMenu(); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished applet10."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished applet10.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Step Into").push(); checkDebuggerStoppedInInit("debug.applet10", 16); (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Continue").push(); checkCorrectAppletOutput("applet10"); finishDebugger(); } /** Check debugger stopped on all breakpoints */ public void testStopsOnBreakpoint() { CommonUtils.checkBreakpointExist("applet1", "debug/applet1", 26, workDir); CommonUtils.checkBreakpointExist("applet1", "debug/applet1", 28, workDir); CommonUtils.checkBreakpointExist("applet1", "debug/applet1", 30, workDir); editor = CommonUtils.openFile(workDir, "applet1"); editor.setCaretPositionToLine(28); //(new ToggleBreakpointAction()).performMenu(); (new CompileAction()).perform(); /* try{ MainWindowOperator.getDefault().waitStatusText("Finished applet1."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished applet1.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } */ (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Run in Debugger").push(); checkDebuggerStoppedOnBreakpoint("debug.applet1", 26); (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Continue").push(); checkDebuggerStoppedOnBreakpoint("debug.applet1", 28); (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Continue").push(); checkDebuggerStoppedOnBreakpoint("debug.applet1", 30); (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Continue").push(); checkCorrectAppletOutput("applet1"); finishDebugger(); } /** Check debugger stopped on "one method breakpoint" */ public void testStopsOnOneMethodBreakpoint() { editor = CommonUtils.openFile(workDir, "applet11"); editor.setCaretPositionToLine(28); //(new ToggleBreakpointAction()).performMenu(); (new AddBreakpointAction()).performMenu(); Utils.fillAddBreakpointMethod(null, null, null, false); if(!CommonUtils.isExplorerItemExist("Debugger|Breakpoints|Method "+testWMDir+".applet11.sendOK")){ fail("Breakpoint do not added"); } editor = CommonUtils.openFile(workDir, "applet11"); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished applet11."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished applet11.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (new StartDebugAction()).performMenu(); checkDebuggerStoppedOnMethod("debug.applet11", "sendOK", 25); (MainWindowOperator.getDefault()).getToolbarButton((MainWindowOperator.getDefault()).getToolbar("Debug"), "Continue").push(); checkCorrectAppletOutput("applet11"); finishDebugger(); } /** Check debugger stopped on "all methods breakpoint" */ public void testStopsOnAllMethodsBreakpoint() { editor = CommonUtils.openFile(workDir, "applet12"); editor.setCaretPositionToLine(28); (new AddBreakpointAction()).performMenu(); Utils.fillAddBreakpointMethod(null, null, null, true); if(!CommonUtils.isExplorerItemExist("Debugger|Breakpoints|Methods in "+testWMDir+".applet12")){ fail("Breakpoint do not added"); } editor = CommonUtils.openFile(workDir, "applet12"); (new CompileAction()).perform(); try{ MainWindowOperator.getDefault().waitStatusText("Finished applet12."); (new OutputWindowOperator()).selectCompilerPage(); String output = (new OutputWindowOperator()).getText(); if(output.indexOf("Finished applet12.")==-1){ fail("Compilation failed. Output is:"+output); } }catch (Exception e){ fail("Exception occured while compile applet. Exception is:"+e); e.printStackTrace(); } (new StartDebugAction()).performMenu(); checkDebuggerStoppedOnMethod("debug.applet12", " |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.