package org.netbeans.jellytools.examples; import java.io.File; import org.netbeans.jellytools.EditorOperator; import org.netbeans.jellytools.JellyTestCase; import org.netbeans.jellytools.actions.FilesystemsViewAction; import org.netbeans.jellytools.nodes.JavaNode; import org.netbeans.jellytools.nodes.FilesystemNode; import org.netbeans.jellytools.properties.Property; import org.netbeans.jellytools.properties.PropertySheetOperator; import org.netbeans.jellytools.properties.editors.StringCustomEditorOperator; import org.netbeans.junit.NbTestSuite; //plays with properties //requires that /sampledir/HelloWorld exists. public class TestProperties extends JellyTestCase { public TestProperties(java.lang.String testName) { super(testName); } public static void main(java.lang.String[] args) { junit.textui.TestRunner.run(suite()); } public static junit.framework.Test suite() { return new NbTestSuite(TestProperties.class); } public void testProperties() { //show Filesystems new FilesystemsViewAction().perform(); //create a node for the sampledir directory FilesystemNode tmpNode = new FilesystemNode( System.getProperty("netbeans.user") + File.separator + "sampledir"); //create a node for the source JavaNode clNode = new JavaNode(tmpNode, "HelloWorld"); // open properties window on that node clNode.properties(); //create an operator for properties window. PropertySheetOperator propertiesSheet = new PropertySheetOperator("HelloWorld"); //find "Encoding" property Property encodingProperty = new Property(propertiesSheet, "Encoding"); //change value directly encodingProperty.setValue("iso-8859-1"); //show property editor encodingProperty.openEditor(); //create an operator for the property editor StringCustomEditorOperator encodingEditor = new StringCustomEditorOperator("Encoding"); //set a different value encodingEditor.setStringValue("iso-8859-2"); //push OK encodingEditor.ok(); //another property Property syncProperty = new Property(propertiesSheet, "Synchronization Mode"); //change value by string syncProperty.setValue("Do Not Synchronize"); //change value back by index. syncProperty.setValue(1); // close properties window propertiesSheet.close(); } }