KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > test > java > gui > synchronization > SynchronizeDialog


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.test.java.gui.synchronization;
21
22 import java.io.File JavaDoc;
23 import java.io.IOException JavaDoc;
24 import java.io.PrintStream JavaDoc;
25 import java.io.PrintWriter JavaDoc;
26 import org.netbeans.jellytools.EditorOperator;
27 import org.netbeans.jellytools.JellyTestCase;
28 import org.netbeans.jellytools.ProjectsTabOperator;
29 import org.netbeans.jellytools.actions.OpenAction;
30 import org.netbeans.jellytools.modules.java.SynchronizeOperator;
31 import org.netbeans.jellytools.nodes.Node;
32 import org.netbeans.jemmy.JemmyProperties;
33 import org.netbeans.jemmy.TestOut;
34 import org.netbeans.jemmy.operators.JDialogOperator;
35 import org.netbeans.jemmy.operators.JEditorPaneOperator;
36 import org.netbeans.junit.NbTestSuite;
37 import org.netbeans.test.java.Utilities;
38 import org.netbeans.test.java.gui.GuiUtilities;
39
40
41 /**
42  * Tests Synchronize dialog.
43  * @author Roman Strobl
44  */

45 public class SynchronizeDialog extends JellyTestCase {
46     
47     // name of sample project
48
private static final String JavaDoc TEST_PROJECT_NAME = "default";
49     
50     // path to sample files
51
private static final String JavaDoc TEST_PACKAGE_PATH =
52             "org.netbeans.test.java.gui.synchronization";
53     
54     // name of sample package
55
private static final String JavaDoc TEST_PACKAGE_NAME = TEST_PACKAGE_PATH+".test";
56     
57     // name of sample class
58
private static final String JavaDoc TEST_CLASS_NAME = "TestClass";
59     
60     /**
61      * error log
62      */

63     protected static PrintStream JavaDoc err;
64     /**
65      * standard log
66      */

67     protected static PrintStream JavaDoc log;
68     
69     // workdir, default /tmp, changed to NBJUnit workdir during test
70
private String JavaDoc workDir = "/tmp";
71     
72     // actual directory with project
73
private static String JavaDoc projectDir;
74     
75     /** Needs to be defined because of JUnit
76      * @param name name of testsuite
77      */

78     public SynchronizeDialog(String JavaDoc name) {
79         super(name);
80     }
81     
82     /**
83      * The test suite
84      * @return suite
85      */

86     public static NbTestSuite suite() {
87         NbTestSuite suite = new NbTestSuite();
88         suite.addTest(new SynchronizeDialog("testSynchronizeDialog"));
89         return suite;
90     }
91     
92     /**
93      * Use for execution inside IDE
94      * @param args no command line arguments
95      */

96     public static void main(java.lang.String JavaDoc[] args) {
97         junit.textui.TestRunner.run(suite());
98     }
99     
100     public void setUp() {
101         System.out.println("######## "+getName()+" #######");
102         err = getLog();
103         log = getRef();
104         JemmyProperties.getProperties().setOutput(new TestOut(null,
105                 new PrintWriter JavaDoc(err, true), new PrintWriter JavaDoc(err, false), null));
106         try {
107             File JavaDoc wd = getWorkDir();
108             workDir = wd.toString();
109         } catch (IOException JavaDoc e) { }
110     }
111     
112     /**
113      * Prepares testing project, package and class.
114      */

115     public void testCreateProjectAndPackageAndClass() {
116         projectDir = GuiUtilities.createProjectAndPackageAndClass(
117                 TEST_PROJECT_NAME, TEST_PACKAGE_NAME, TEST_CLASS_NAME, workDir);
118     }
119     
120     /**
121      * Executes the main test.
122      */

123     public void testSynchronizeDialog() {
124         Node pn = new ProjectsTabOperator().getProjectRootNode(
125                 TEST_PROJECT_NAME);
126         pn.select();
127
128         Node n = new Node(pn, org.netbeans.jellytools.Bundle.getString(
129                 "org.netbeans.modules.java.j2seproject.Bundle",
130                 "NAME_src.dir")+"|"+TEST_PACKAGE_NAME+"|"
131                 +TEST_CLASS_NAME);
132         
133         n.select();
134         new OpenAction().perform();
135         
136         // add implements Runnable to code
137
EditorOperator editor = new EditorOperator(TEST_CLASS_NAME);
138         editor.insert("implements Runnable ", 11, 24);
139         editor.save();
140         
141         Utilities.takeANap(1000);
142
143         // open Synchronize dialog
144
pn.select();
145         Node n2 = new Node(pn, org.netbeans.jellytools.Bundle.getString(
146                 "org.netbeans.modules.java.j2seproject.Bundle",
147                 "NAME_src.dir")+"|"+TEST_PACKAGE_NAME+"|"
148                 +TEST_CLASS_NAME);
149         n2.select();
150         n2.performPopupActionNoBlock(
151                 org.netbeans.jellytools.Bundle.getString(
152                 "org.netbeans.core.Bundle", "Actions/Tools")+"|"+
153                 org.netbeans.jellytools.Bundle.getString(
154                 "org.netbeans.modules.java.Bundle", "LAB_SynchronizeAction"));
155         
156         Utilities.takeANap(1000);
157         
158         // process synchronization
159
new JDialogOperator(org.netbeans.jellytools.Bundle.getString(
160                 "org.netbeans.modules.java.Bundle", "LAB_ConfirmDialog"));
161         
162         SynchronizeOperator sdo = new SynchronizeOperator();
163         
164         sdo.lstChangesList().selectItem(0);
165         sdo.btProcess().clickMouse();
166                                
167         ref(editor.getText());
168         
169         compareReferenceFiles();
170         
171         EditorOperator.closeDiscardAll();
172     }
173     
174 }
175
Popular Tags