1 19 20 26 27 package projects; 28 29 import javax.swing.JList ; 30 import junit.framework.*; 31 32 import org.netbeans.jellytools.Bundle; 33 import org.netbeans.jellytools.JellyTestCase; 34 import org.netbeans.jellytools.NbDialogOperator; 35 import org.netbeans.jellytools.NewProjectNameLocationStepOperator; 36 import org.netbeans.jellytools.NewProjectWizardOperator; 37 import org.netbeans.jellytools.ProjectsTabOperator; 38 39 import org.netbeans.jellytools.nodes.ProjectRootNode; 40 import org.netbeans.jemmy.JemmyProperties; 41 import org.netbeans.jemmy.TimeoutExpiredException; 42 import org.netbeans.jemmy.operators.JButtonOperator; 43 44 import org.netbeans.jemmy.operators.JCheckBoxOperator; 45 import org.netbeans.jemmy.operators.JFileChooserOperator; 46 import org.netbeans.jemmy.operators.JLabelOperator; 47 import org.netbeans.jemmy.operators.JListOperator; 48 import org.netbeans.jemmy.operators.JTextFieldOperator; 49 50 import org.netbeans.junit.*; 51 import org.netbeans.junit.ide.ProjectSupport; 52 53 56 public class TestCreateProject extends JellyTestCase { 57 58 String standardLabel = Bundle.getStringTrimmed("org.netbeans.modules.java.j2seproject.ui.wizards.Bundle", 59 "Templates/Project/Standard"); 60 String applicationLabel = Bundle.getStringTrimmed("org.netbeans.modules.java.j2seproject.ui.wizards.Bundle", 61 "Templates/Project/Standard/emptyJ2SE.xml"); 62 String libraryLabel = Bundle.getStringTrimmed("org.netbeans.modules.java.j2seproject.ui.wizards.Bundle", 63 "Templates/Project/Standard/emptyJ2SElibrary.xml"); 64 String existingLabel = Bundle.getStringTrimmed("org.netbeans.modules.java.j2seproject.ui.wizards.Bundle", 65 "Templates/Project/Standard/existingJ2SE.xml"); 66 public TestCreateProject(java.lang.String testName) { 69 super(testName); 70 } 71 72 public static void main(java.lang.String [] args) { 73 junit.textui.TestRunner.run(suite()); 74 } 75 76 public static Test suite() { 77 TestSuite suite = new NbTestSuite(TestCreateProject.class); 78 return suite; 79 } 80 81 public void setUp() { 82 System.out.println("######## " + getName() + " #######"); } 84 85 87 90 public void testCreateProject_1() throws Exception { 91 92 String projName = "TestApp_1"; String pkg = "org.netbeans"; String mainClass = "MyMain" + projName; 96 createJavaApplication(projName, getWorkDir().getAbsolutePath(), true, pkg + "." + mainClass); 97 String openingProjectsTitle = Bundle.getString("org.netbeans.modules.project.ui.Bundle", "LBL_Opening_Projects_Progress"); 99 try { 100 JemmyProperties.setCurrentTimeout("ComponentOperator.WaitStateTimeout", 60000); 102 new NbDialogOperator(openingProjectsTitle).waitClosed(); 103 } catch (TimeoutExpiredException e) { 104 } 106 new ProjectsTabOperator().getProjectRootNode(projName); 109 ProjectSupport.waitScanFinished(); 111 113 TestProjectUtils.verifyProjectExists(projName); 115 116 TestProjectUtils.verifyMainClassInEditor(mainClass + ".java"); 118 119 TestProjectUtils.verifyProjectBuilds(projName); 121 122 } 123 124 125 128 public void testCreateProject_2() throws Exception { 129 130 String projName = "TestApp_2"; 132 createJavaApplication(projName, getWorkDir().getAbsolutePath(), true, null); 133 134 String openingProjectsTitle = Bundle.getString("org.netbeans.modules.project.ui.Bundle", "LBL_Opening_Projects_Progress"); 136 try { 137 JemmyProperties.setCurrentTimeout("ComponentOperator.WaitStateTimeout", 60000); 139 new NbDialogOperator(openingProjectsTitle).waitClosed(); 140 } catch (TimeoutExpiredException e) { 141 } 143 new ProjectsTabOperator().getProjectRootNode(projName); 146 ProjectSupport.waitScanFinished(); 148 149 151 TestProjectUtils.verifyProjectExists(projName); 153 154 TestProjectUtils.verifyProjectBuilds(projName); 156 } 157 158 161 public void testCreateProject_3() throws Exception { 162 163 String projName = "TestApp_3"; String pkg = "org.netbeans"; String mainClass = "MyMain" + projName; 167 createJavaApplication(projName, getWorkDir().getAbsolutePath(), false, pkg + "." + mainClass); 168 ProjectSupport.waitScanFinished(); 169 170 new ProjectsTabOperator().getProjectRootNode(projName); 171 172 TestProjectUtils.verifyProjectExists(projName); 174 175 TestProjectUtils.verifyMainClassInEditor(mainClass + ".java"); 177 178 TestProjectUtils.verifyProjectBuilds(projName); 180 181 } 182 183 186 public void testCreateProject_4() throws Exception { 187 188 String projName = "TestApp_4"; 190 createJavaApplication(projName, getWorkDir().getAbsolutePath(), false, null); 191 ProjectSupport.waitScanFinished(); 192 193 new ProjectsTabOperator().getProjectRootNode(projName); 194 195 TestProjectUtils.verifyProjectExists(projName); 197 198 TestProjectUtils.verifyProjectBuilds(projName); 200 201 } 202 203 206 public void testCreateProject_5() throws Exception { 207 208 String projName = "TestLib_1"; 210 createJavaLibrary(projName, getWorkDir().getAbsolutePath()); 211 ProjectSupport.waitScanFinished(); 212 213 new ProjectsTabOperator().getProjectRootNode(projName); 214 215 TestProjectUtils.verifyProjectExists(projName); 217 218 TestProjectUtils.verifyProjectBuilds(projName); 220 221 } 222 223 226 public void testCreateProject_6() throws Exception { 227 228 String projName = "ExSources_1"; createJavaApplicationWithExistingSources(projName, getWorkDir().getAbsolutePath(), 230 getDataDir().getAbsolutePath() + java.io.File.separator + "srcroot1", null, true); 231 232 ProjectSupport.waitScanFinished(); 233 234 ProjectRootNode prn = new ProjectsTabOperator().getProjectRootNode(projName); 235 prn.expand(); 236 237 TestProjectUtils.verifyProjectExists(projName); 239 240 TestProjectUtils.verifyProjectBuilds(projName); 242 243 } 244 245 247 255 private void createJavaApplication(String projName, String projLocation, boolean mainProj, String mainClass) { 256 257 NewProjectWizardOperator npwo = NewProjectWizardOperator.invoke(); 259 npwo.selectCategory(standardLabel); 260 npwo.selectProject(applicationLabel); 261 npwo.next(); 262 263 NewProjectNameLocationStepOperator npnlso = new NewProjectNameLocationStepOperator(); 265 npnlso.txtProjectName().clearText(); 266 npnlso.txtProjectName().setText(projName); 267 268 npnlso.txtProjectLocation().clearText(); 270 npnlso.txtProjectLocation().setText(projLocation); 271 272 JCheckBoxOperator mainProjOper = npnlso.cbSetAsMainProject(); 274 if (!mainProj && mainProjOper.isSelected()) { 275 mainProjOper.doClick(); 276 } 277 278 JCheckBoxOperator mainClassOper = new JCheckBoxOperator(npnlso, 1); 281 JTextFieldOperator mainClassFieldOper = new JTextFieldOperator(npnlso, 3); 282 if (mainClass == null) { 283 if (mainClassOper.isSelected()) { 284 mainClassOper.doClick(); 285 } 286 } else { 287 if (!mainClassOper.isSelected()) { 288 mainClassOper.doClick(); 289 } 290 if (!mainClass.equals("")) { 291 mainClassFieldOper.clearText(); 292 mainClassFieldOper.typeText(mainClass); 293 } 294 } 295 npnlso.finish(); 296 String openingProjectsTitle = Bundle.getString("org.netbeans.modules.project.ui.Bundle", "LBL_Opening_Projects_Progress"); 297 try { 298 JemmyProperties.setCurrentTimeout("ComponentOperator.WaitStateTimeout", 60000); 300 new NbDialogOperator(openingProjectsTitle).waitClosed(); 301 } catch (TimeoutExpiredException e) { 302 } 304 } 305 306 311 private void createJavaLibrary(String projName, String projLocation) { 312 313 NewProjectWizardOperator npwo = NewProjectWizardOperator.invoke(); 315 npwo.selectCategory(standardLabel); 316 npwo.selectProject(libraryLabel); 317 npwo.next(); 318 319 NewProjectNameLocationStepOperator npnlso = new NewProjectNameLocationStepOperator(); 321 npnlso.txtProjectName().clearText(); 322 npnlso.txtProjectName().setText(projName); 323 324 npnlso.txtProjectLocation().clearText(); 326 npnlso.txtProjectLocation().setText(projLocation); 327 328 npnlso.finish(); 329 String openingProjectsTitle = Bundle.getString("org.netbeans.modules.project.ui.Bundle", "LBL_Opening_Projects_Progress"); 330 try { 331 JemmyProperties.setCurrentTimeout("ComponentOperator.WaitStateTimeout", 60000); 333 new NbDialogOperator(openingProjectsTitle).waitClosed(); 334 } catch (TimeoutExpiredException e) { 335 } 337 } 338 339 347 private void createJavaApplicationWithExistingSources(String projName, String projLocation, 348 String srcPkgFolder, String testPkgFolder, boolean mainProj) { 349 350 NewProjectWizardOperator npwo = NewProjectWizardOperator.invoke(); 352 npwo.selectCategory(standardLabel); 353 npwo.selectProject(existingLabel); 354 npwo.next(); 355 356 NewProjectNameLocationStepOperator npnlso = new NewProjectNameLocationStepOperator(); 358 npnlso.txtProjectName().setText(projName); 359 360 npnlso.txtProjectFolder().setText(projLocation); 362 363 JCheckBoxOperator mainProjOper = npnlso.cbSetAsMainProject(); 365 if (!mainProj && mainProjOper.isSelected()) { 366 mainProjOper.doClick(); 367 } 368 369 npnlso.next(); 370 371 JLabelOperator location = new JLabelOperator(npnlso,org.netbeans.jellytools.Bundle.getStringTrimmed("org.netbeans.modules.java.j2seproject.ui.wizards.Bundle", "CTL_SourceRoots")); 373 JListOperator list; 374 if ( location.getLabelFor()!=null ) { 375 list = new JListOperator((JList )location.getLabelFor()); 376 377 if(list.getModel().getSize() == 0){ 378 JButtonOperator browseButton = new JButtonOperator(npnlso, org.netbeans.jellytools.Bundle.getStringTrimmed("org.netbeans.modules.java.j2seproject.ui.customizer.Bundle", "CTL_AddSourceRoot")); 379 browseButton.push(); 380 JFileChooserOperator chooserOperator = new JFileChooserOperator(); 381 chooserOperator.chooseFile(srcPkgFolder); 382 } 383 } 384 385 npnlso.finish(); 386 String openingProjectsTitle = Bundle.getString("org.netbeans.modules.project.ui.Bundle", "LBL_Opening_Projects_Progress"); 387 try { 388 JemmyProperties.setCurrentTimeout("ComponentOperator.WaitStateTimeout", 60000); 390 new NbDialogOperator(openingProjectsTitle).waitClosed(); 391 } catch (TimeoutExpiredException e) { 392 } 394 } 395 396 } 397 | Popular Tags |