| /* | |
| * 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. | |
| */ | |
| package gui; | |
| import java.io.File; | |
| import java.io.IOException; | |
| import junit.textui.TestRunner; | |
| import org.netbeans.jellytools.Bundle; | |
| import org.netbeans.jellytools.EditorOperator; | |
| import org.netbeans.jellytools.JellyTestCase; | |
| import org.netbeans.jellytools.NbDialogOperator; | |
| import org.netbeans.jellytools.RepositoryTabOperator; | |
| import org.netbeans.jellytools.actions.PropertiesAction; | |
| import org.netbeans.jellytools.nodes.JavaNode; | |
| import org.netbeans.jellytools.nodes.Node; | |
| import org.netbeans.jemmy.EventTool; | |
| import org.netbeans.jemmy.operators.JCheckBoxOperator; | |
| import org.netbeans.jemmy.operators.JComboBoxOperator; | |
| import org.netbeans.jemmy.operators.JRadioButtonOperator; | |
| import org.netbeans.junit.NbTestSuite; | |
| import org.openide.actions.SaveAllAction; | |
| import org.openide.filesystems.FileObject; | |
| import org.openide.filesystems.Repository; | |
| import org.openide.loaders.DataFolder; | |
| import org.openide.loaders.DataObject; | |
| public class NewMulticastEventSource extends JellyTestCase { | |
| private static final String NAME_TEST_FILE = "TestFile"; | |
| private static final String sampleDir = Utilities.findFileSystem("src").getDisplayName(); | |
| /** Need to be defined because of JUnit */ | |
| public NewMulticastEventSource(String name) { | |
| super(name); | |
| } | |
| public static NbTestSuite suite() { | |
| NbTestSuite suite = new NbTestSuite(); | |
| suite.addTest(new NewMulticastEventSource("testGenerateEmpty")); | |
| suite.addTest(new NewMulticastEventSource("testGenerateArrayListImplementation")); | |
| suite.addTest(new NewMulticastEventSource("testGenerateEventListenerListImplementation")); | |
| suite.addTest(new NewMulticastEventSource("testGenerateEventFiringMethods")); | |
| suite.addTest(new NewMulticastEventSource("testPassEventAsParameter")); | |
| return suite; | |
| } | |
| /** Use for execution inside IDE */ | |
| public static void main(java.lang.String[] args) { | |
| // run whole suite | |
| TestRunner.run(suite()); | |
| // run only selected test case | |
| //junit.textui.TestRunner.run(new BeansTemplates("testJavaBean")); | |
| } | |
| /** setUp method */ | |
| public void setUp() { | |
| System.out.println("######## "+getName()+" #######"); | |
| FileObject testFile = Repository.getDefault().findResource("gui/data/" + NAME_TEST_FILE + ".java"); | |
| FileObject destination = Repository.getDefault().findFileSystem(sampleDir.replace('\\', '/')).getRoot(); | |
| try { | |
| DataObject.find(testFile).copy(DataFolder.findFolder(destination)); | |
| } catch (IOException e) { | |
| fail(e); | |
| } | |
| new PropertiesAction().perform(); | |
| } | |
| /** tearDown method */ | |
| public void tearDown() { | |
| ((SaveAllAction) SaveAllAction.findObject(SaveAllAction.class, true)).performAction(); | |
| Utilities.delete(NAME_TEST_FILE + ".java"); | |
| } | |
| public void testGenerateEmpty() { | |
| // | |
| RepositoryTabOperator explorerOperator = new RepositoryTabOperator(); | |
| Node repositoryRootNode = explorerOperator.getRootNode(); | |
| Node patternsNode = new Node(repositoryRootNode, sampleDir+"|"+NAME_TEST_FILE+"|"+"class "+NAME_TEST_FILE+"|"+Bundle.getString("org.netbeans.modules.beans.Bundle", "Patterns")); | |
| patternsNode.select(); | |
| patternsNode.performPopupActionNoBlock(Bundle.getString("org.openide.src.nodes.Bundle", "LAB_Add")+"|"+Bundle.getString("org.netbeans.modules.beans.Bundle", "MENU_CREATE_MULTICASTSE")); | |
| String dialogTitle = Bundle.getString("org.netbeans.modules.beans.Bundle", "CTL_TITLE_NewMultiCastES"); | |
| NbDialogOperator nbDialogOperator = new NbDialogOperator(dialogTitle); | |
| JComboBoxOperator jComboBoxOperator = new JComboBoxOperator(nbDialogOperator, 0); | |
| jComboBoxOperator.setSelectedItem("java.awt.event.ActionListener"); | |
| JRadioButtonOperator jRadioButtonOperator = new JRadioButtonOperator(nbDialogOperator, Bundle.getString("org.netbeans.modules.beans.Bundle", "CTL_EventSetPanel_emptyRadioButton")); | |
| jRadioButtonOperator.push(); | |
| new EventTool().waitNoEvent(2000); | |
| nbDialogOperator.ok(); | |
| new JavaNode(repositoryRootNode, sampleDir + "|" + NAME_TEST_FILE).open(); | |
| EditorOperator eo = new EditorOperator(NAME_TEST_FILE); | |
| ref(eo.getText()); | |
| compareReferenceFiles(); | |
| // | |
| } | |
| public void testGenerateArrayListImplementation() { | |
| // | |
| RepositoryTabOperator explorerOperator = new RepositoryTabOperator(); | |
| Node repositoryRootNode = explorerOperator.getRootNode(); | |
| Node patternsNode = new Node(repositoryRootNode, sampleDir+"|"+NAME_TEST_FILE+"|"+"class "+NAME_TEST_FILE+"|"+Bundle.getString("org.netbeans.modules.beans.Bundle", "Patterns")); | |
| patternsNode.select(); | |
| patternsNode.performPopupActionNoBlock(Bundle.getString("org.openide.src.nodes.Bundle", "LAB_Add")+"|"+Bundle.getString("org.netbeans.modules.beans.Bundle", "MENU_CREATE_MULTICASTSE")); | |
| String dialogTitle = Bundle.getString("org.netbeans.modules.beans.Bundle", "CTL_TITLE_NewMultiCastES"); | |
| NbDialogOperator nbDialogOperator = new NbDialogOperator(dialogTitle); | |
| JComboBoxOperator jComboBoxOperator = new JComboBoxOperator(nbDialogOperator, 0); | |
| jComboBoxOperator.setSelectedItem("java.awt.event.ActionListener"); | |
| JRadioButtonOperator jRadioButtonOperator = new JRadioButtonOperator(nbDialogOperator, Bundle.getString("org.netbeans.modules.beans.Bundle", "CTL_EventSetPanel_alRadioButton")); | |
| jRadioButtonOperator.push(); | |
| new EventTool().waitNoEvent(2000); | |
| nbDialogOperator.ok(); | |
| new JavaNode(repositoryRootNode, sampleDir + "|" + NAME_TEST_FILE).open(); | |
| EditorOperator eo = new EditorOperator(NAME_TEST_FILE); | |
| ref(eo.getText()); | |
| compareReferenceFiles(); | |
| // | |
| } | |
| public void testGenerateEventListenerListImplementation() { | |
| // | |
| RepositoryTabOperator explorerOperator = new RepositoryTabOperator(); | |
| Node repositoryRootNode = explorerOperator.getRootNode(); | |
| Node patternsNode = new Node(repositoryRootNode, sampleDir+"|"+NAME_TEST_FILE+"|"+"class "+NAME_TEST_FILE+"|"+Bundle.getString("org.netbeans.modules.beans.Bundle", "Patterns")); | |
| patternsNode.select(); | |
| patternsNode.performPopupActionNoBlock(Bundle.getString("org.openide.src.nodes.Bundle", "LAB_Add")+"|"+Bundle.getString("org.netbeans.modules.beans.Bundle", "MENU_CREATE_MULTICASTSE")); | |
| String dialogTitle = Bundle.getString("org.netbeans.modules.beans.Bundle", "CTL_TITLE_NewMultiCastES"); | |
| NbDialogOperator nbDialogOperator = new NbDialogOperator(dialogTitle); | |
| JComboBoxOperator jComboBoxOperator = new JComboBoxOperator(nbDialogOperator, 0); | |
| jComboBoxOperator.setSelectedItem("java.awt.event.ActionListener"); | |
| JRadioButtonOperator jRadioButtonOperator = new JRadioButtonOperator(nbDialogOperator, Bundle.getString("org.netbeans.modules.beans.Bundle", "CTL_EventSetPanel_ellRadioButton")); | |
| jRadioButtonOperator.push(); | |
| new EventTool().waitNoEvent(3000); | |
| nbDialogOperator.ok(); | |
| new JavaNode(repositoryRootNode, sampleDir + "|" + NAME_TEST_FILE).open(); | |
| EditorOperator eo = new EditorOperator(NAME_TEST_FILE); | |
| ref(eo.getText()); | |
| compareReferenceFiles(); | |
| // | |
| } | |
| public void testGenerateEventFiringMethods() { | |
| // | |
| RepositoryTabOperator explorerOperator = new RepositoryTabOperator(); | |
| Node repositoryRootNode = explorerOperator.getRootNode(); | |
| Node patternsNode = new Node(repositoryRootNode, sampleDir+"|"+NAME_TEST_FILE+"|"+"class "+NAME_TEST_FILE+"|"+Bundle.getString("org.netbeans.modules.beans.Bundle", "Patterns")); | |
| patternsNode.select(); | |
| patternsNode.performPopupActionNoBlock(Bundle.getString("org.openide.src.nodes.Bundle", "LAB_Add")+"|"+Bundle.getString("org.netbeans.modules.beans.Bundle", "MENU_CREATE_MULTICASTSE")); | |
| String dialogTitle = Bundle.getString("org.netbeans.modules.beans.Bundle", "CTL_TITLE_NewMultiCastES"); | |
| NbDialogOperator nbDialogOperator = new NbDialogOperator(dialogTitle); | |
| JComboBoxOperator jComboBoxOperator = new JComboBoxOperator(nbDialogOperator, 0); | |
| jComboBoxOperator.setSelectedItem("java.awt.event.ActionListener"); | |
| JRadioButtonOperator jRadioButtonOperator = new JRadioButtonOperator(nbDialogOperator, Bundle.getString("org.netbeans.modules.beans.Bundle", "CTL_EventSetPanel_alRadioButton")); | |
| jRadioButtonOperator.push(); | |
| JCheckBoxOperator jCheckBoxOperator = new JCheckBoxOperator(nbDialogOperator, Bundle.getString("org.netbeans.modules.beans.Bundle","CTL_EventSetPanel_fireCheckBox")); | |
| jCheckBoxOperator.push(); | |
| new EventTool().waitNoEvent(3000); | |
| nbDialogOperator.ok(); | |
| new JavaNode(repositoryRootNode, sampleDir + "|" + NAME_TEST_FILE).open(); | |
| EditorOperator eo = new EditorOperator(NAME_TEST_FILE); | |
| ref(eo.getText()); | |
| compareReferenceFiles(); | |
| // | |
| } | |
| public void testPassEventAsParameter() { | |
| // | |
| RepositoryTabOperator explorerOperator = new RepositoryTabOperator(); | |
| Node repositoryRootNode = explorerOperator.getRootNode(); | |
| Node patternsNode = new Node(repositoryRootNode, sampleDir+"|"+NAME_TEST_FILE+"|"+"class "+NAME_TEST_FILE+"|"+Bundle.getString("org.netbeans.modules.beans.Bundle", "Patterns")); | |
| patternsNode.select(); | |
| patternsNode.performPopupActionNoBlock(Bundle.getString("org.openide.src.nodes.Bundle", "LAB_Add")+"|"+Bundle.getString("org.netbeans.modules.beans.Bundle", "MENU_CREATE_MULTICASTSE")); | |
| String dialogTitle = Bundle.getString("org.netbeans.modules.beans.Bundle", "CTL_TITLE_NewMultiCastES"); | |
| NbDialogOperator nbDialogOperator = new NbDialogOperator(dialogTitle); | |
| JComboBoxOperator jComboBoxOperator = new JComboBoxOperator(nbDialogOperator, 0); | |
| jComboBoxOperator.setSelectedItem("java.awt.event.ActionListener"); | |
| JRadioButtonOperator jRadioButtonOperator = new JRadioButtonOperator(nbDialogOperator, Bundle.getString("org.netbeans.modules.beans.Bundle", "CTL_EventSetPanel_ellRadioButton")); | |
| jRadioButtonOperator.push(); | |
| JCheckBoxOperator jCheckBoxOperator = new JCheckBoxOperator(nbDialogOperator, Bundle.getString("org.netbeans.modules.beans.Bundle","CTL_EventSetPanel_fireCheckBox")); | |
| jCheckBoxOperator.push(); | |
| jCheckBoxOperator = new JCheckBoxOperator(nbDialogOperator, Bundle.getString("org.netbeans.modules.beans.Bundle","CTL_EventSetPanel_passEventCheckBox")); | |
| jCheckBoxOperator.push(); | |
| new EventTool().waitNoEvent(3000); | |
| nbDialogOperator.ok(); | |
| new JavaNode(repositoryRootNode, sampleDir + "|" + NAME_TEST_FILE).open(); | |
| EditorOperator eo = new EditorOperator(NAME_TEST_FILE); | |
| ref(eo.getText()); | |
| compareReferenceFiles(); | |
| // | |
| } | |
| } |