KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > i18n > test > ComplexWalkthrough


1 /*
2  * ComplexWalkthrough.java
3  *
4  * Created on January 27, 2004, 2:39 PM
5  */

6
7 package org.netbeans.i18n.test;
8
9 import java.io.File JavaDoc;
10 import java.net.URL JavaDoc;
11 import javax.swing.SwingUtilities JavaDoc;
12 import org.netbeans.i18n.jelly.InternationalizeOperator;
13 import org.netbeans.i18n.jelly.NewBundleOperator;
14 import org.netbeans.jellytools.*;
15 import org.netbeans.jellytools.actions.Action;
16 import org.netbeans.jellytools.nodes.FormNode;
17 import org.netbeans.jellytools.nodes.Node;
18 import org.netbeans.jemmy.QueueTool;
19 import org.netbeans.jemmy.operators.JButtonOperator;
20 import org.netbeans.jemmy.operators.JComboBoxOperator;
21 import org.netbeans.jemmy.operators.JDialogOperator;
22 import org.netbeans.jemmy.operators.JTreeOperator;
23 import org.netbeans.junit.NbTest;
24 import org.netbeans.junit.NbTestSuite;
25 import org.openide.filesystems.FileObject;
26
27 /**
28  *
29  * @author eh103527
30  */

31 public class ComplexWalkthrough extends JellyTestCase {
32     
33     String JavaDoc dataMountPath;
34     String JavaDoc dlm = "|";
35     
36     String JavaDoc formName = "TestFrame";
37     String JavaDoc resources="resources";
38     String JavaDoc name;
39     
40     FileObject frameFO,propertiesFO, goldenFolder;
41     
42     /** Creates a new instance of ComplexWalkthrough */
43     public ComplexWalkthrough(String JavaDoc testName) {
44         super(testName);
45         name=testName;
46     }
47     
48     /**
49      * @param args the command line arguments
50      */

51     public static void main(String JavaDoc[] args) {
52         // TODO code application logic here
53
junit.textui.TestRunner.run(suite());
54     }
55     
56     public static NbTest suite() {
57         NbTestSuite suite = new NbTestSuite();
58         suite.setName("I18NComplexWalkthrough");
59         suite.addTest(new ComplexWalkthrough("testInternationalize")); // NOI18N
60
return suite;
61     }
62     
63     public void setUp() {
64         try {
65             dataMountPath = Utilities.getPath("data", dlm); // NOI18N
66
frameFO=Utilities.findFileObject("data", formName, "java");
67             goldenFolder=Utilities.findFileObject("data.goldenfiles.ComplexWalkthrough",null,null);
68             
69         } catch (Exception JavaDoc ex) {
70             ex.printStackTrace();
71         }
72     }
73     
74     public void tearDown() {
75         compareReferenceFiles();
76     }
77     
78     // -------------------------------------------------------------------------
79

80     // TEST METHOD
81
public void testInternationalize() {
82         RepositoryTabOperator tabOper = RepositoryTabOperator.invoke();//explorer.repositoryTab();
83
JTreeOperator repoTreeOper = new JTreeOperator(tabOper);
84         Action internationalize = new Action(null, toolsMenuItem+dlm+internationalizationMenuItem+dlm+internationalizeMenuItem);
85         
86         //invoke intern. on java source with form
87
System.out.println("select node "+dataMountPath+dlm+formName);
88         Node node1 = new Node(repoTreeOper, dataMountPath+dlm+formName); // NOI18N
89
internationalize.perform(node1);
90         InternationalizeOperator iop = new InternationalizeOperator();
91         
92         //create new properties file in inter. dialog
93
iop.clickNew();
94         NewBundleOperator nbo = new NewBundleOperator();
95         JTreeOperator newfs = new JTreeOperator(nbo);
96         node1 = new Node(newfs, newfs.findPath(dataMountPath+dlm+resources,dlm)); // NOI18N
97
node1.select();
98         System.out.println("try to select: "+node1.getPath());
99         nbo.ok();
100         new QueueTool().waitEmpty(200);
101         
102         //set comment, press replace
103
iop.makeComponentVisible();
104         iop.setComment("test comment");
105         iop.replace();
106         
107         //skip
108
iop.skip();
109         
110         //info
111
iop.info();
112         JDialogOperator infod=new JDialogOperator(Bundle.getStringTrimmed("org.netbeans.modules.i18n.Bundle", "CTL_InfoPanelTitle"));
113         infod.makeComponentVisible();
114         JButtonOperator okb=new JButtonOperator(infod, Bundle.getStringTrimmed("org.netbeans.modules.i18n.Bundle", "CTL_OKButton"));
115         okb.pushNoBlock();
116         new QueueTool().waitEmpty(200);
117         
118         iop.typeKey("hello_button");
119         iop.replace();
120         iop.close();
121         
122         EditorOperator eop=new EditorOperator(formName);
123         eop.close(true);
124     }
125     
126     public void compareReferenceFiles() {
127         try {
128             propertiesFO=Utilities.findFileObject("data"+"."+resources, "properties", "properties");
129             
130             FileObject frameGolden = goldenFolder.getFileObject(name+".pass");
131             FileObject propertiesGolden = goldenFolder.getFileObject(name+"properties.pass");
132             
133             File JavaDoc frameGF=convertURL(frameGolden.getURL());
134             File JavaDoc propertiesGF=convertURL(propertiesGolden.getURL());
135             File JavaDoc frameF=convertURL(frameFO.getURL());
136             File JavaDoc propertiesF=convertURL(propertiesFO.getURL());
137             
138             System.out.println(frameGF);
139             System.out.println(propertiesGF);
140             assertFile("Golden frame file differs.",frameGF,frameF,null,new LineDiff(false));
141             assertFile("Golden properties file differs.",propertiesGF,propertiesF,null,new LineDiff(false));
142         } catch (Exception JavaDoc ex) {
143             ex.printStackTrace();
144         }
145     }
146     
147     protected File JavaDoc convertURL(URL JavaDoc url) {
148         try {
149             String JavaDoc path=java.net.URLDecoder.decode(url.getPath(),"UTF-8");
150             path.replaceAll("/",((File.separatorChar == '\\')?File.separator+File.separator:File.separator));
151             return new File JavaDoc(path);
152         } catch (Exception JavaDoc ex) {
153             ex.printStackTrace();
154         }
155         return null;
156     }
157     
158     private static final String JavaDoc toolsMenuItem = Bundle.getStringTrimmed("org.openide.actions.Bundle", "CTL_Tools");
159     private static final String JavaDoc internationalizationMenuItem = Bundle.getStringTrimmed("org.netbeans.modules.i18n.Bundle", "LBL_Internationalization");
160     private static final String JavaDoc internationalizeMenuItem = Bundle.getStringTrimmed("org.netbeans.modules.i18n.Bundle", "CTL_I18nAction");
161 }
162
Popular Tags