| 1 19 package validation; 20 21 import java.io.File ; 22 import junit.textui.TestRunner; 23 import org.netbeans.jellytools.Bundle; 24 import org.netbeans.jellytools.EditorOperator; 25 import org.netbeans.jellytools.JellyTestCase; 26 import org.netbeans.jellytools.MainWindowOperator; 27 import org.netbeans.jellytools.NbDialogOperator; 28 import org.netbeans.jellytools.actions.ActionNoBlock; 29 import org.netbeans.jellytools.actions.OpenAction; 30 import org.netbeans.jellytools.modules.debugger.SourcesOperator; 31 import org.netbeans.jellytools.modules.debugger.actions.ApplyCodeChangesAction; 32 import org.netbeans.jellytools.modules.debugger.actions.StepIntoAction; 33 import org.netbeans.jellytools.modules.debugger.actions.StepOutAction; 34 import org.netbeans.jellytools.modules.debugger.actions.DebugAction; 35 import org.netbeans.jellytools.modules.debugger.actions.StepOverAction; 36 import org.netbeans.jellytools.modules.j2ee.nodes.J2eeServerNode; 37 import org.netbeans.jellytools.nodes.Node; 38 import org.netbeans.jellytools.nodes.SourcePackagesNode; 39 import org.netbeans.junit.NbTestSuite; 40 41 46 public class ServletDebuggingTest extends JellyTestCase { 47 private MainWindowOperator.StatusTextTracer stt; 49 50 public ServletDebuggingTest(String testName) { 51 super(testName); 52 } 53 54 public static void main(String [] args) { 55 TestRunner.run(suite()); 56 } 57 58 public static NbTestSuite suite() { 59 NbTestSuite suite = new NbTestSuite(); 60 suite.addTest(new ServletDebuggingTest("testSetBreakpoint")); 61 suite.addTest(new ServletDebuggingTest("testStepInto")); 62 suite.addTest(new ServletDebuggingTest("testStepOut")); 63 suite.addTest(new ServletDebuggingTest("testStepOver")); 64 suite.addTest(new ServletDebuggingTest("testApplyCodeChanges")); 65 suite.addTest(new ServletDebuggingTest("testStopServer")); 66 return suite; 67 } 68 69 70 public void setUp() { 71 System.out.println("######## "+getName()+" #######"); 72 stt = MainWindowOperator.getDefault().getStatusTextTracer(); 73 stt.start(); 75 MainWindowOperator.getDefault().getTimeouts().setTimeout("Waiter.WaitingTime", 60000); 77 servletNode = new Node(new SourcePackagesNode(SAMPLE_WEB_PROJECT_NAME), 79 "org.netbeans.test.servlets|DivideServlet.java"); } 81 82 83 public void tearDown() { 84 stt.stop(); 85 } 86 87 private static final String SAMPLE_WEB_PROJECT_NAME = "MainTestApplication"; private static int line; 91 private Node servletNode; 93 94 99 public void testSetBreakpoint() throws Exception { 100 new OpenAction().performAPI(servletNode); 101 EditorOperator eo = new EditorOperator("DivideServlet.java"); line = Utils.setBreakpoint(eo, "<h1>"); } 105 106 117 public void testStepInto() { 118 new ActionNoBlock(null, new DebugAction().getPopupPath()).perform(servletNode); 119 String setURITitle = Bundle.getString("org.netbeans.modules.web.project.ui.Bundle", "TTL_setServletExecutionUri"); 120 new NbDialogOperator(setURITitle).ok(); 121 Utils.waitFinished(this, SAMPLE_WEB_PROJECT_NAME, "debug"); 122 Utils.reloadPage(SAMPLE_WEB_PROJECT_NAME+"/DivideServlet"); 123 stt.waitText("DivideServlet.java:"+line); SourcesOperator so = SourcesOperator.invoke(); 126 so.useSource("TestFreeformLibrary"+File.separator+"src1", true); so.useSource("TestFreeformLibrary"+File.separator+"src2", true); so.close(); 129 new StepIntoAction().perform(); 130 stt.waitText("DivideServlet.java:"+(line+2)); new StepIntoAction().perform(); 132 stt.waitText("Divider.java:"); new EditorOperator("Divider.java").close(); Utils.finishDebugger(); 135 } 136 137 144 public void testStepOut() { 145 new DebugAction().perform(servletNode); 146 Utils.waitFinished(this, SAMPLE_WEB_PROJECT_NAME, "debug"); 147 Utils.reloadPage(SAMPLE_WEB_PROJECT_NAME+"/DivideServlet"); 148 stt.waitText("DivideServlet.java:"+line); stt.clear(); 150 new StepOutAction().perform(); 151 stt.waitText("DivideServlet.java:"); Utils.finishDebugger(); 154 } 155 156 165 public void testStepOver() { 166 new DebugAction().perform(servletNode); 167 Utils.waitFinished(this, SAMPLE_WEB_PROJECT_NAME, "debug"); 168 Utils.reloadPage(SAMPLE_WEB_PROJECT_NAME+"/DivideServlet"); 169 stt.waitText("DivideServlet.java:"+line); new StepOverAction().perform(); 171 stt.waitText("DivideServlet.java:"+(line+2)); new StepOverAction().perform(); 173 stt.waitText("DivideServlet.java:"+(line+4)); Utils.finishDebugger(); 175 } 176 177 186 public void testApplyCodeChanges() { 187 new DebugAction().perform(servletNode); 188 Utils.waitFinished(this, SAMPLE_WEB_PROJECT_NAME, "debug"); 189 Utils.reloadPage(SAMPLE_WEB_PROJECT_NAME+"/DivideServlet"); 190 stt.waitText("DivideServlet.java:"+line); stt.clear(); 192 EditorOperator eo = new EditorOperator("DivideServlet.java"); eo.replace("Servlet DIVIDE", "Servlet DIVIDE Changed"); new ApplyCodeChangesAction().perform(); 195 stt.waitText("DivideServlet.java:"); Utils.finishDebugger(); 197 Utils.waitText(SAMPLE_WEB_PROJECT_NAME+"/DivideServlet", 240000, "Servlet DIVIDE Changed"); 198 } 199 200 203 public void testStopServer() { 204 J2eeServerNode serverNode = new J2eeServerNode(Utils.DEFAULT_SERVER); 205 serverNode.stop(); 206 } 207 } 208 | Popular Tags |