KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > test > subversion > main > delete > RefactoringTest


1 /*
2  * RefactoringTest.java
3  *
4  * Created on Streda, 2006, september 20, 11:25
5  *
6  * To change this template, choose Tools | Template Manager
7  * and open the template in the editor.
8  */

9
10 package org.netbeans.test.subversion.main.delete;
11
12 import java.io.File JavaDoc;
13 import java.io.PrintStream JavaDoc;
14 import junit.textui.TestRunner;
15 import org.netbeans.jellytools.JellyTestCase;
16 import org.netbeans.jellytools.NbDialogOperator;
17 import org.netbeans.jellytools.OutputOperator;
18 import org.netbeans.jellytools.OutputTabOperator;
19 import org.netbeans.jellytools.nodes.Node;
20 import org.netbeans.jellytools.nodes.SourcePackagesNode;
21 import org.netbeans.jemmy.JemmyProperties;
22 import org.netbeans.jemmy.QueueTool;
23 import org.netbeans.jemmy.operators.JButtonOperator;
24 import org.netbeans.jemmy.operators.JTableOperator;
25 import org.netbeans.jemmy.operators.JTextFieldOperator;
26 import org.netbeans.jemmy.operators.Operator;
27 import org.netbeans.jemmy.operators.Operator.DefaultStringComparator;
28 import org.netbeans.junit.NbTestSuite;
29 import org.netbeans.junit.ide.ProjectSupport;
30 import org.netbeans.test.subversion.operators.CheckoutWizardOperator;
31 import org.netbeans.test.subversion.operators.CommitOperator;
32 import org.netbeans.test.subversion.operators.RefactoringOperator;
33 import org.netbeans.test.subversion.operators.RepositoryStepOperator;
34 import org.netbeans.test.subversion.operators.VersioningOperator;
35 import org.netbeans.test.subversion.operators.WorkDirStepOperator;
36 import org.netbeans.test.subversion.utils.RepositoryMaintenance;
37 import org.netbeans.test.subversion.utils.TestKit;
38
39 /**
40  *
41  * @author pvcs
42  */

43 public class RefactoringTest extends JellyTestCase {
44     
45     public static final String JavaDoc TMP_PATH = "/tmp";
46     public static final String JavaDoc REPO_PATH = "repo";
47     public static final String JavaDoc WORK_PATH = "work";
48     public static final String JavaDoc PROJECT_NAME = "JavaApp";
49     public File JavaDoc projectPath;
50     public PrintStream JavaDoc stream;
51     String JavaDoc os_name;
52     Operator.DefaultStringComparator comOperator;
53     Operator.DefaultStringComparator oldOperator;
54     
55     /** Creates a new instance of RefactoringTest */
56     public RefactoringTest(String JavaDoc name) {
57         super(name);
58     }
59     
60     protected void setUp() throws Exception JavaDoc {
61         os_name = System.getProperty("os.name");
62         //System.out.println(os_name);
63
System.out.println("### "+getName()+" ###");
64         
65     }
66     
67     protected boolean isUnix() {
68         boolean unix = false;
69         if (os_name.indexOf("Windows") == -1) {
70             unix = true;
71         }
72         return unix;
73     }
74     
75     public static void main(String JavaDoc[] args) {
76         // TODO code application logic here
77
TestRunner.run(suite());
78     }
79     
80     public static NbTestSuite suite() {
81         NbTestSuite suite = new NbTestSuite();
82         suite.addTest(new RefactoringTest("testRefactoring"));
83         return suite;
84     }
85     
86     public void testRefactoring() throws Exception JavaDoc {
87         //JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 30000);
88
//JemmyProperties.setCurrentTimeout("DialogWaiter.WaitDialogTimeout", 30000);
89
try {
90             TestKit.closeProject(PROJECT_NAME);
91             OutputOperator.invoke();
92             JTableOperator table;
93             stream = new PrintStream JavaDoc(new File JavaDoc(getWorkDir(), getName() + ".log"));
94             VersioningOperator vo = VersioningOperator.invoke();
95             comOperator = new Operator.DefaultStringComparator(true, true);
96             oldOperator = (DefaultStringComparator) Operator.getDefaultStringComparator();
97             Operator.setDefaultStringComparator(comOperator);
98             CheckoutWizardOperator co = CheckoutWizardOperator.invoke();
99             Operator.setDefaultStringComparator(oldOperator);
100             RepositoryStepOperator rso = new RepositoryStepOperator();
101             
102             //create repository...
103
File JavaDoc work = new File JavaDoc(TMP_PATH + File.separator + WORK_PATH + File.separator + "w" + System.currentTimeMillis());
104             new File JavaDoc(TMP_PATH).mkdirs();
105             work.mkdirs();
106             RepositoryMaintenance.deleteFolder(new File JavaDoc(TMP_PATH + File.separator + REPO_PATH));
107             //RepositoryMaintenance.deleteFolder(new File(TMP_PATH + File.separator + WORK_PATH));
108
RepositoryMaintenance.createRepository(TMP_PATH + File.separator + REPO_PATH);
109             RepositoryMaintenance.loadRepositoryFromFile(TMP_PATH + File.separator + REPO_PATH, getDataDir().getCanonicalPath() + File.separator + "repo_dump");
110             rso.setRepositoryURL(RepositoryStepOperator.ITEM_FILE + RepositoryMaintenance.changeFileSeparator(TMP_PATH + File.separator + REPO_PATH, false));
111             
112             rso.next();
113             WorkDirStepOperator wdso = new WorkDirStepOperator();
114             wdso.setRepositoryFolder("trunk/" + PROJECT_NAME);
115             wdso.setLocalFolder(work.getCanonicalPath());
116             wdso.checkCheckoutContentOnly(false);
117             OutputTabOperator oto = new OutputTabOperator("file:///tmp/repo");
118             oto.getTimeouts().setTimeout("ComponentOperator.WaitStateTimeout", 30000);
119             oto.clear();
120             wdso.finish();
121             //open project
122
oto.waitText("Checking out... finished.");
123             NbDialogOperator nbdialog = new NbDialogOperator("Checkout Completed");
124             JButtonOperator open = new JButtonOperator(nbdialog, "Open Project");
125             open.push();
126             
127             ProjectSupport.waitScanFinished();
128             new QueueTool().waitEmpty(1000);
129             ProjectSupport.waitScanFinished();
130             
131             oto = new OutputTabOperator("file:///tmp/repo");
132             oto.getTimeouts().setTimeout("ComponentOperator.WaitStateTimeout", 30000);
133             oto.clear();
134             Node node = new Node(new SourcePackagesNode(PROJECT_NAME), "");
135             node.performPopupAction("Subversion|Show Changes");
136             oto.waitText("Refreshing... finished.");
137             node = new Node(new SourcePackagesNode(PROJECT_NAME), "javaapp");
138             node.select();
139             node.performPopupActionNoBlock("Refactor|Rename...");
140             NbDialogOperator dialog = new NbDialogOperator("Rename");
141             JTextFieldOperator txt = new JTextFieldOperator(dialog);
142             txt.setText("javaapp_ren");
143             JButtonOperator btn = new JButtonOperator(dialog, "Refactor");
144             btn.push();
145             dialog.waitClosed();
146             Thread.sleep(2000);
147             
148         /*RefactoringOperator ro = new RefactoringOperator();
149         ro.doRefactoring();
150         NbDialogOperator ndo = new NbDialogOperator("Refactoring");
151         ndo.getTimeouts().setTimeout("ComponentOperator.WaitStateTimeout", 30000);
152         ndo.waitClosed();
153         Thread.sleep(2000);*/

154             
155             vo = VersioningOperator.invoke();
156             String JavaDoc[] expected = new String JavaDoc[] {"Main.java", "Main.java", "javaapp_ren"};
157             String JavaDoc[] actual = new String JavaDoc[vo.tabFiles().getRowCount()];
158             for (int i = 0; i < vo.tabFiles().getRowCount(); i++) {
159                 actual[i] = vo.tabFiles().getValueAt(i, 0).toString().trim();
160             }
161             int result = TestKit.compareThem(expected, actual, false);
162             assertEquals("Wrong files in Versioning View", 3, result);
163             
164             expected = new String JavaDoc[] {"Locally Deleted", "Locally New", "Locally Copied"};
165             actual = new String JavaDoc[vo.tabFiles().getRowCount()];
166             for (int i = 0; i < vo.tabFiles().getRowCount(); i++) {
167                 actual[i] = vo.tabFiles().getValueAt(i, 1).toString().trim();
168             }
169             result = TestKit.compareThem(expected, actual, false);
170             assertEquals("Wrong status in Versioning View", 3, result);
171             
172             oto = new OutputTabOperator("file:///tmp/repo");
173             oto.getTimeouts().setTimeout("ComponentOperator.WaitStateTimeout", 30000);
174             oto.clear();
175             node = new Node(new SourcePackagesNode(PROJECT_NAME), "");
176             CommitOperator cmo = CommitOperator.invoke(node);
177             expected = new String JavaDoc[] {"Main.java", "Main.java", "javaapp_ren"};
178             actual = new String JavaDoc[cmo.tabFiles().getRowCount()];
179             for (int i = 0; i < actual.length; i++) {
180                 actual[i] = cmo.tabFiles().getValueAt(i, 0).toString();
181             }
182             result = TestKit.compareThem(expected, actual, false);
183             assertEquals("Wrong files in Commit dialog", 3, result);
184             
185             expected = new String JavaDoc[] {"Locally Deleted", "Locally New", "Locally Copied"};
186             actual = new String JavaDoc[cmo.tabFiles().getRowCount()];
187             for (int i = 0; i < actual.length; i++) {
188                 actual[i] = cmo.tabFiles().getValueAt(i, 1).toString();
189             }
190             result = TestKit.compareThem(expected, actual, false);
191             assertEquals("Wrong status in Commit dialog", 3, result);
192             cmo.commit();
193             oto.waitText("Committing... finished.");
194             
195             Exception JavaDoc e = null;
196             try {
197                 vo = VersioningOperator.invoke();
198                 table = vo.tabFiles();
199             } catch (Exception JavaDoc ex) {
200                 e = ex;
201             }
202             assertNotNull("Unexpected behavior - Versioning view should be empty!!!", e);
203             
204             e = null;
205             try {
206                 node = new Node(new SourcePackagesNode(PROJECT_NAME), "javaapp|Main.java");
207             } catch (Exception JavaDoc ex) {
208                 e = ex;
209             }
210             assertNotNull("Unexpected behavior - File shouldn't be in explorer!!!", e);
211             
212         } catch (Exception JavaDoc e) {
213             throw new Exception JavaDoc("Test failed: " + e);
214         } finally {
215             TestKit.closeProject(PROJECT_NAME);
216         }
217     }
218 }
219
Popular Tags