1 6 7 package org.netbeans.i18n.test; 8 9 import java.io.File ; 10 import java.net.URL ; 11 import javax.swing.SwingUtilities ; 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 31 public class ComplexWalkthrough extends JellyTestCase { 32 33 String dataMountPath; 34 String dlm = "|"; 35 36 String formName = "TestFrame"; 37 String resources="resources"; 38 String name; 39 40 FileObject frameFO,propertiesFO, goldenFolder; 41 42 43 public ComplexWalkthrough(String testName) { 44 super(testName); 45 name=testName; 46 } 47 48 51 public static void main(String [] args) { 52 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")); return suite; 61 } 62 63 public void setUp() { 64 try { 65 dataMountPath = Utilities.getPath("data", dlm); frameFO=Utilities.findFileObject("data", formName, "java"); 67 goldenFolder=Utilities.findFileObject("data.goldenfiles.ComplexWalkthrough",null,null); 68 69 } catch (Exception ex) { 70 ex.printStackTrace(); 71 } 72 } 73 74 public void tearDown() { 75 compareReferenceFiles(); 76 } 77 78 80 public void testInternationalize() { 82 RepositoryTabOperator tabOper = RepositoryTabOperator.invoke(); JTreeOperator repoTreeOper = new JTreeOperator(tabOper); 84 Action internationalize = new Action(null, toolsMenuItem+dlm+internationalizationMenuItem+dlm+internationalizeMenuItem); 85 86 System.out.println("select node "+dataMountPath+dlm+formName); 88 Node node1 = new Node(repoTreeOper, dataMountPath+dlm+formName); internationalize.perform(node1); 90 InternationalizeOperator iop = new InternationalizeOperator(); 91 92 iop.clickNew(); 94 NewBundleOperator nbo = new NewBundleOperator(); 95 JTreeOperator newfs = new JTreeOperator(nbo); 96 node1 = new Node(newfs, newfs.findPath(dataMountPath+dlm+resources,dlm)); node1.select(); 98 System.out.println("try to select: "+node1.getPath()); 99 nbo.ok(); 100 new QueueTool().waitEmpty(200); 101 102 iop.makeComponentVisible(); 104 iop.setComment("test comment"); 105 iop.replace(); 106 107 iop.skip(); 109 110 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 frameGF=convertURL(frameGolden.getURL()); 134 File propertiesGF=convertURL(propertiesGolden.getURL()); 135 File frameF=convertURL(frameFO.getURL()); 136 File 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 ex) { 143 ex.printStackTrace(); 144 } 145 } 146 147 protected File convertURL(URL url) { 148 try { 149 String path=java.net.URLDecoder.decode(url.getPath(),"UTF-8"); 150 path.replaceAll("/",((File.separatorChar == '\\')?File.separator+File.separator:File.separator)); 151 return new File (path); 152 } catch (Exception ex) { 153 ex.printStackTrace(); 154 } 155 return null; 156 } 157 158 private static final String toolsMenuItem = Bundle.getStringTrimmed("org.openide.actions.Bundle", "CTL_Tools"); 159 private static final String internationalizationMenuItem = Bundle.getStringTrimmed("org.netbeans.modules.i18n.Bundle", "LBL_Internationalization"); 160 private static final String internationalizeMenuItem = Bundle.getStringTrimmed("org.netbeans.modules.i18n.Bundle", "CTL_I18nAction"); 161 } 162 | Popular Tags |