| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| /* |
| * TestProjectsUtils.java |
| * |
| * Created on July 22, 2004, 11:48 AM |
| */ |
| |
| package projects; |
| |
| import org.netbeans.jellytools.EditorOperator; |
| import org.netbeans.jellytools.MainWindowOperator; |
| import org.netbeans.jellytools.NbDialogOperator; |
| import org.netbeans.jellytools.ProjectsTabOperator; |
| import org.netbeans.jellytools.actions.ActionNoBlock; |
| import org.netbeans.jellytools.actions.BuildJavaProjectAction; |
| import org.netbeans.jellytools.nodes.ProjectRootNode; |
| import org.netbeans.jemmy.operators.JButtonOperator; |
| import org.netbeans.jemmy.operators.JFileChooserOperator; |
| import org.netbeans.jemmy.operators.JTabbedPaneOperator; |
| import org.netbeans.jemmy.operators.JTextFieldOperator; |
| import org.netbeans.jemmy.operators.JTreeOperator; |
| |
| /** |
| * |
| */ |
| public class TestProjectUtils { |
| |
| |
| /** |
| * Verifies that project exists in Projects tab |
| * @param projName Name of the project |
| */ |
| public static void verifyProjectExists(String projName) { |
| ProjectsTabOperator pto = new ProjectsTabOperator(); |
| JTreeOperator tree = pto.tree(); |
| ProjectRootNode prn = pto.getProjectRootNode(projName); |
| prn.select(); |
| prn.expand(); |
| } |
| |
| /** |
| * Verifies that main class was opened in editor |
| * @param mainClass Name of the main class (as shown in editor tab) |
| */ |
| public static void verifyMainClassInEditor(String mainClass) { |
| EditorOperator eo = new EditorOperator(mainClass); |
| } |
| |
| /** |
| * Verifies that project can be built by action 'Build Project' on project root node |
| * @param projName Name of the project |
| */ |
| public static void verifyProjectBuilds(String projName) { |
| |
| ProjectsTabOperator pto = new ProjectsTabOperator(); |
| ProjectRootNode prn = pto.getProjectRootNode(projName); |
| |
| BuildJavaProjectAction buildProjectAction = new BuildJavaProjectAction(); |
| buildProjectAction.perform(prn); |
| |
| MainWindowOperator mainWindow = MainWindowOperator.getDefault(); |
| mainWindow.waitStatusText("Finished building"); |
| |
| // Output should be checked for BUILD SUCCESSFUL but it is not opened by default, code upon is used insted |
| //OutputTabOperator outputOper = new OutputTabOperator(projName); |
| //outputOper.waitText("BUILD SUCCESSFUL"); |
| |
| } |
| |
| public static void verifyProjectRuns() { |
| |
| } |
| |
| public static void addLibrary(String name, String[] cpEntries, String[] srcEntries, String[] jdocEntries) { |
| |
| new ActionNoBlock("Tools|Library Manager", null).performMenu(); |
| NbDialogOperator libManOper = new NbDialogOperator("Library Manager"); |
| JButtonOperator newLibButtonOper = new JButtonOperator(libManOper, "New Library"); |
| newLibButtonOper.push(); |
| |
| NbDialogOperator newLibOper = new NbDialogOperator("New Library"); |
| JTextFieldOperator jtfo = new JTextFieldOperator(newLibOper, 0); |
| jtfo.clearText(); |
| jtfo.setText(name); |
| newLibOper.ok(); |
| |
| // here I should select the created library in the tree? |
| |
| JTabbedPaneOperator jtpo = new JTabbedPaneOperator(libManOper); |
| |
| jtpo.selectPage("Classpath"); // should be already selected, but just for sure |
| if (cpEntries != null || cpEntries.length > 0) { |
| JButtonOperator addJarButtonOper = new JButtonOperator(jtpo, "Add JAR/Folder"); |
| for (int i = 0; i < cpEntries.length; i++) { |
| addJarButtonOper.push(); |
| JFileChooserOperator jfco = new JFileChooserOperator(); |
| jfco.setSelectedFile(new java.io.File(cpEntries[i])); |
| JButtonOperator confirmButton = new JButtonOperator(jfco, "Add JAR/Folder"); |
| confirmButton.push(); |
| } |
| } else { |
| // missing cp entries must be handled, e.g. by throwing Exception |
| } |
| |
| if (srcEntries != null || srcEntries.length > 0) { |
| jtpo.selectPage("Sources"); |
| JButtonOperator addJarButtonOper = new JButtonOperator(jtpo, "Add JAR/Folder"); |
| for (int i = 0; i < srcEntries.length; i++) { |
| addJarButtonOper.push(); |
| JFileChooserOperator jfco = new JFileChooserOperator(); |
| jfco.setSelectedFile(new java.io.File(srcEntries[i])); |
| JButtonOperator confirmButton = new JButtonOperator(jfco, "Add JAR/Folder"); |
| confirmButton.push(); |
| } |
| } |
| |
| if (jdocEntries != null || jdocEntries.length > 0) { |
| jtpo.selectPage("Javadoc"); |
| JButtonOperator addZipButtonOper = new JButtonOperator(jtpo, "Add ZIP/Folder"); |
| for (int i = 0; i < jdocEntries.length; i++) { |
| addZipButtonOper.push(); |
| JFileChooserOperator jfco = new JFileChooserOperator(); |
| jfco.setSelectedFile(new java.io.File(jdocEntries[i])); |
| JButtonOperator confirmButton = new JButtonOperator(jfco, "Add ZIP/Folder"); |
| confirmButton.push(); |
| } |
| } |
| |
| libManOper.ok(); |
| |
| } |
| |
| public static void addPlatform(String platName, String folderPath) { |
| if (folderPath == null) { |
| return ; |
| } |
| new ActionNoBlock("Tools|Java Platforms", null).performMenu(); |
| NbDialogOperator platManOper = new NbDialogOperator("Java Platform Manager"); |
| JButtonOperator addPlatformButtonOper = new JButtonOperator(platManOper, "Add Platform"); |
| addPlatformButtonOper.push(); |
| |
| JFileChooserOperator jfco = new JFileChooserOperator(); |
| jfco.setSelectedFile(new java.io.File(folderPath)); |
| |
| NbDialogOperator nbdo = new NbDialogOperator("Add Java Platform"); |
| |
| // wait for button being enabled |
| JButtonOperator nextButton = new JButtonOperator(nbdo, "Next"); |
| try { nextButton.waitComponentEnabled(); } |
| catch (InterruptedException ie) {} |
| nextButton.push(); |
| |
| // wait for platform to be scanned |
| JButtonOperator finishButton = new JButtonOperator(nbdo, "Finish"); |
| try { finishButton.waitComponentEnabled(); } |
| catch (InterruptedException ie) {} |
| // set name of the platform |
| JTextFieldOperator jtfo = new JTextFieldOperator(nbdo, 0); |
| jtfo.clearText(); |
| jtfo.setText(platName); |
| |
| finishButton.push(); |
| |
| platManOper.close(); |
| |
| } |
| |
| } |