alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

/*
 *                 Sun Public License Notice
 * 
 * The contents of this file are subject to the Sun Public License
 * Version 1.0 (the "License"). You may not use this file except in
 * compliance with the License. A copy of the License is available at
 * http://www.sun.com/
 * 
 * The Original Code is NetBeans. The Initial Developer of the Original
 * Code is Sun Microsystems, Inc. Portions Copyright 1997-2002 Sun
 * Microsystems, Inc. All Rights Reserved.
 */

package org.netbeans.test.gui.httpserver;

import org.netbeans.junit.NbTestSuite; 
import org.netbeans.junit.NbTestCase; 
import org.netbeans.modules.httpserver.*;

import java.awt.Robot;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import javax.swing.*;

import org.openide.awt.*;

import org.netbeans.jellytools.*;
import org.netbeans.jellytools.nodes.*;
import org.netbeans.jellytools.actions.*;
import org.netbeans.jellytools.properties.*;
import org.netbeans.jemmy.*;
import org.netbeans.jemmy.operators.*;
import org.netbeans.junit.AssertionFailedErrorException;
import org.netbeans.junit.NbTest;

public class Module extends JellyTestCase { 

	private String workDir=null;
	private String value=null;
	private String old_value=null;
	private ExplorerOperator explorer=null;
	private static boolean mwm=true;
	private NbDialogOperator dop=null;
	private OptionsOperator optionsOper=null;
	private PropertySheetTabOperator psto=null;
	private String delim="|";	// NOI18N
	private String failMessage="test failed";	// NOI18N
        
        private static String originalPort = "8082";
        
        private HttpServerSettings serverSettings = new HttpServerSettings();

    public Module(String testName) { 
        super(testName); 
    } 
    
    public static NbTestSuite suite() {
    	NbTestSuite suite = new NbTestSuite("test_temp");
        suite.addTest(new Module("test_1_1"));
        /*
        suite.addTest(new Module("test_1_5"));
        suite.addTest(new Module("test_2_1"));
        suite.addTest(new Module("test_2_2"));
        suite.addTest(new Module("test_3_1"));
        suite.addTest(new Module("test_3_2"));
        */
        suite.addTest(new Module("test_4_1_1"));
        suite.addTest(new Module("test_4_2_1"));
        suite.addTest(new Module("test_4_2_2"));
        suite.addTest(new Module("test_4_2_4")); 
        suite.addTest(new Module("test_4_2_5")); 
        suite.addTest(new Module("test_4_2_6")); 
        suite.addTest(new Module("test_4_2_7"));
        
        
        suite.addTest(new Module("test_4_3_1"));
        suite.addTest(new Module("test_4_3_2"));        
        /*
        //suite.addTest(new Module("test_4_5_1"));
        //suite.addTest(new Module("test_4_5_2"));
        //suite.addTest(new Module("test_4_5_3"));
        suite.addTest(new Module("test_4_5_4"));
        //suite.addTest(new Module("test_4_6_1"));
        //suite.addTest(new Module("test_4_6_2"));
        //suite.addTest(new Module("test_4_6_3"));
        //suite.addTest(new Module("test_4_6_4"));
        suite.addTest(new Module("test_4_6_5"));
        //suite.addTest(new Module("test_4_7_1"));
        //suite.addTest(new Module("test_4_7_2"));
        //suite.addTest(new Module("test_4_7_3"));
        //suite.addTest(new Module("test_4_7_4"));
        suite.addTest(new Module("test_4_7_5"));
         */
        
        suite.addTest(new Module("test_4_8_01"));
        suite.addTest(new Module("test_4_8_02"));
        suite.addTest(new Module("test_4_8_03"));
        suite.addTest(new Module("test_4_8_04")); 
        suite.addTest(new Module("test_4_8_05"));
        suite.addTest(new Module("test_4_8_06"));
        suite.addTest(new Module("test_4_8_07"));
        suite.addTest(new Module("test_4_8_08"));
        
        /*
        suite.addTest(new Module("test_4_8_09"));
        suite.addTest(new Module("test_4_8_10"));
        suite.addTest(new Module("test_4_8_11"));
        suite.addTest(new Module("test_4_8_12"));
        suite.addTest(new Module("test_4_8_13"));
        suite.addTest(new Module("test_4_8_14"));
        suite.addTest(new Module("test_4_8_15"));
        suite.addTest(new Module("test_4_8_16"));
        suite.addTest(new Module("test_4_8_17"));
        suite.addTest(new Module("test_4_8_18"));
        suite.addTest(new Module("test_4_8_19"));
        suite.addTest(new Module("test_4_8_20"));
        suite.addTest(new Module("test_4_8_21"));
        suite.addTest(new Module("test_4_8_22"));
        suite.addTest(new Module("test_4_8_23"));
        suite.addTest(new Module("test_4_8_24"));
        */
        
        suite.addTest(new Module("test_4_9_1"));
        suite.addTest(new Module("test_4_9_2"));
        suite.addTest(new Module("test_4_9_3"));
        
        return suite;
    }

    /** Use for execution inside IDE */ 
    public static void main(java.lang.String[] args) { 
        //junit.textui.TestRunner.run(new NbTestSuite(Module.class)); 
        junit.textui.TestRunner.run(suite());
        
    } 

    public void setUp() { 
        System.out.println("#"+getName());
    }

    private void waitFor(int ms) {
//  On W2k k=1, on Solaris/Linux it's better to set k=2-3
	int k=1;
        new EventTool().waitNoEvent(ms*k);
    }

    private AssertionFailedErrorException checkDialog(String name) {

	try {
		dop=new NbDialogOperator(name);
	} catch(Exception ex) {
		return new AssertionFailedErrorException("No '"+name+"' dialog appears",ex);
	}
	dop.close();
	return null;
    }

    private void switchToHTTPServerNode() {

        RuntimeTabOperator runtime = RuntimeTabOperator.invoke();

        Node node=new Node(runtime.tree(),"HTTP Server");
	new PropertiesAction().performPopup(node);
    }

    private void waitServerRunning(boolean running) {
        int i;
        for (i=1;i<=10;i++) {
            if (serverSettings.isRunning() == running)
                break;
            try { Thread.currentThread().sleep(i*300); }
            catch (InterruptedException e) {}
        }
        if (i == 11) 
            fail("Timeout expired when waiting for server to "+(running?"start":"stop")+" running.");
    }
    
    private void startHTTPServer() {

	RuntimeTabOperator runtime = RuntimeTabOperator.invoke();
        Node node=new Node(runtime.tree(),"HTTP Server");
        
        if (!serverSettings.isRunning()) {
            new ActionNoBlock(null,"Start HTTP Server").performPopup(node);
            waitServerRunning(true);
            waitFor(500);
        }
    }
    
    private void stopHTTPServer() {
        
        RuntimeTabOperator runtime = RuntimeTabOperator.invoke();
        Node node=new Node(runtime.tree(),"HTTP Server");

        if (serverSettings.isRunning()) {
            new ActionNoBlock(null,"Stop HTTP Server").performPopup(node);
            waitServerRunning(false);
            waitFor(500);
        }
    }
    
    private void restartHTTPServer() {
        
        RuntimeTabOperator runtime = RuntimeTabOperator.invoke();
        Node node=new Node(runtime.tree(),"HTTP Server");

        if (serverSettings.isRunning()) {
            new ActionNoBlock(null,"Stop HTTP Server").performPopup(node);
            waitServerRunning(false);
            waitFor(500);
        }
        new ActionNoBlock(null,"Start HTTP Server").performPopup(node);
        waitServerRunning(true);
        waitFor(500);
    }

    private void checkResult(String path, int index, String output, boolean expectedFail) {
        URL url = null;
        try {
            if (path.startsWith("http://"))
                url = new URL(path);
            else
                url = new URL("http","localhost",serverSettings.getPort(),path);
            URLConnection connection = url.openConnection();
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line = null;
            for (int i=0; iDirectory Listing for:/",false);
    }
  
// 1.5    
    public void test_1_5() {
        
        switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");
        
        TextFieldProperty tf=new TextFieldProperty(psto,"Base Filesystems URL");
        tf.setValue("repository");	// NOI18N
        tf=new TextFieldProperty(psto,"Port");
	originalPort = tf.getValue();
        pw.close();
        
        startHTTPServer();
        checkResult("/repository/org/netbeans/test/gui/httpserver/test.txt",1,"This is test file",false);
    }

// Internal HTTP Server Test Specification:  Test suite: 2. Accessing Items on IDE Classpath

// 2.1
    public void test_2_1() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Class Path URL");
	tf.setValue("classpath");	// NOI18N
	pw.close();

	startHTTPServer();

	checkResult("/classpath/",1,"Filesystems",false);
    }

// 2.2
    public void test_2_2() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Class Path URL");
	tf.setValue("classpath");	// NOI18N
	pw.close();

	startHTTPServer();

	checkResult("/classpath/org/netbeans/core/resources/templatesFileSystems.html",
                    15,"Select the type of filesystem that you want to mount.",false);
    }

// Internal HTTP Server Test Specification:  Test suite: 3. Accessing Javadoc

// 3.1
    public void test_3_1() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Javadoc URL");
	tf.setValue("javadoc");	// NOI18N
	pw.close();

	startHTTPServer();

	checkResult("/javadoc/",2,"List of Javadoc mounts",false);
    }

// 3.2
    public void test_3_2() {
        
        switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");
        
        TextFieldProperty tf=new TextFieldProperty(psto,"Base Javadoc URL");
        tf.setValue("javadoc");	// NOI18N
        pw.close();
        
        startHTTPServer();
        
        checkResult("/resource/Mount%2FJavadoc%2Forg-netbeans-modules-xml-tools-resources-xml_apis.xml/javax/xml/parsers/SAXParser.html",
        7,"JAXP 1.1, DOM2, SAX2, SAX2-ext 1.0: Class  SAXParser",false);
    }

// Internal HTTP Server Test Specification:  Test suite: 4. Module Properties
 
// 4.1 Hosts with Granted Access

// 4.1.1
    public void test_4_1_1() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue(originalPort);	// NOI18N
	tf=new TextFieldProperty(psto,"Hosts with Granted Access");
	tf.setValue("Selected Hosts: ");

        psto = pw.getPropertySheetTabOperator("Expert");

	//tf=new TextFieldProperty(psto,"Base Filesystems URL");
	//tf.setValue("repository");	// NOI18N
	pw.close();

	startHTTPServer();

	checkResult("/",3,"Directory Listing for:/",false);
    }

// 4.2 Port

// 4.2.1
    public void test_4_2_1() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue("16384");	// NOI18N

        psto = pw.getPropertySheetTabOperator("Expert");

	//tf=new TextFieldProperty(psto,"Base Filesystems URL");
	//tf.setValue("repository");	// NOI18N
	pw.close();

	startHTTPServer();

	checkResult("http://localhost:16384/",3,"Directory Listing for:/",false);
    }

// 4.2.2
    public void test_4_2_2() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue("16384");	// NOI18N

        psto = pw.getPropertySheetTabOperator("Expert");

	//tf=new TextFieldProperty(psto,"Base Filesystems URL");
	//tf.setValue("repository");	// NOI18N
	pw.close();

	startHTTPServer();

	checkResult("http://localhost:"+originalPort+"/",3,"Directory Listing for:/",true);
    }
 
// 4.2.4
    public void test_4_2_4() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	final TextFieldProperty tf=new TextFieldProperty(psto,"Port");

	value=tf.getValue();
	new Thread() {
            public void run() { tf.setValue("-9999"); }
        }.start();
        
        AssertionFailedErrorException e = checkDialog("Error");
        tf.setValue(value);
        pw.close();
	if (e != null) 
            throw e;
    }

// 4.2.5
    public void test_4_2_5() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	final TextFieldProperty tf=new TextFieldProperty(psto,"Port");

	value=tf.getValue();
	new Thread() {
            public void run() {tf.setValue("0"); }
        }.start();

        AssertionFailedErrorException e = checkDialog("Error");
        tf.setValue(value);
        pw.close();
        if (e != null)
            throw e;
    }

// 4.2.6
    public void test_4_2_6() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	final TextFieldProperty tf=new TextFieldProperty(psto,"Port");

	value=tf.getValue();
	new Thread() {
            public void run() {tf.setValue("65536"); }
        }.start();

        AssertionFailedErrorException e = checkDialog("Error");
        tf.setValue(value);
        pw.close();
        if (e != null)
            throw e;
    }
    
// 4.2.7
    public void test_4_2_7() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue("65535");	// NOI18N

        psto = pw.getPropertySheetTabOperator("Expert");

	//tf=new TextFieldProperty(psto,"Base Filesystems URL");
	//tf.setValue("repository");	// NOI18N
	pw.close();

	startHTTPServer();

	checkResult("http://localhost:65535/",3,"Directory Listing for:/",false);
    }


// 4.3 Running

// 4.3.1
    public void test_4_3_1() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue("16384");	// NOI18N

        psto = pw.getPropertySheetTabOperator("Expert");

	//tf=new TextFieldProperty(psto,"Base Filesystems URL");
	//tf.setValue("repository");	// NOI18N
	pw.close();

	stopHTTPServer();

	checkResult("http://localhost:65535/",3,"Directory Listing for:/",true);
    }

// 4.3.2
    public void test_4_3_2() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue("16384");	// NOI18N
	
        psto = pw.getPropertySheetTabOperator("Expert");

	//tf=new TextFieldProperty(psto,"Base Filesystems URL");
	//tf.setValue("repository");	// NOI18N
	pw.close();

	startHTTPServer();

	checkResult("http://localhost:16384/",3,"Directory Listing for:/",false);
    }

// 4.5 Base Filesystems URL 

// 4.5.1
    public void test_4_5_1() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Filesystems URL");
	tf.setValue("");	// NOI18N

	String value=tf.getValue();
	tf.setValue("/repository/");	// NOI18N
        
        AssertionFailedErrorException e = checkDialog("Information");
        pw.close();

        if (e != null) 
            throw e;

        if (!value.equals("/")) 
		fail("Invalid 'Base Filesystems URL' field value");
    }
    
// 4.5.2
    public void test_4_5_2() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue(originalPort);	// NOI18N

        psto = pw.getPropertySheetTabOperator("Expert");

	tf=new TextFieldProperty(psto,"Base Filesystems URL");
	tf.setValue("");	// NOI18N
        AssertionFailedErrorException e = checkDialog("Information");
        pw.close();
        if (e != null)
            throw e;
	
	startHTTPServer();
        checkResult("http://localhost:"+originalPort+"/repository/",1,"Filesystems",true);
    }

// 4.5.3
    public void test_4_5_3() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue(originalPort);	// NOI18N

        psto = pw.getPropertySheetTabOperator("Expert");

	tf=new TextFieldProperty(psto,"Base Filesystems URL");
	tf.setValue("");	// NOI18N
	pw.close();

	startHTTPServer();

        checkResult("http://localhost:"+originalPort+"/",1,"Filesystems",false);
    }
    
// 4.5.4
    public void test_4_5_4() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue(originalPort);	// NOI18N

        psto = pw.getPropertySheetTabOperator("Expert");

	tf=new TextFieldProperty(psto,"Base Filesystems URL");
	tf.setValue("newrepository");	// NOI18N
	pw.close();

	startHTTPServer();

        checkResult("http://localhost:"+originalPort+"/newrepository/",1,"Filesystems",false);
    }

    
// 4.6 Base Class Path URL 

// 4.6.1
    public void test_4_6_1() {
	
	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf1=new TextFieldProperty(psto,"Base Filesystems URL");
	TextFieldProperty tf2=new TextFieldProperty(psto,"Base Class Path URL");

	tf1.setValue("foo1");	// NOI18N
	tf2.setValue("foo1");	// NOI18N

        AssertionFailedErrorException e = checkDialog("Information");
        
        tf1.setValue("repository");	// NOI18N
        tf2.setValue("classpath");	// NOI18N
        pw.close();
        
        if (e != null)
            throw e;
    }

// 4.6.2
    public void test_4_6_2() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Class Path URL");
	tf.setValue("");	// NOI18N

        AssertionFailedErrorException e = checkDialog("Information");
        String value=tf.getValue();
	tf.setValue("/classpath/");
        pw.close();
        
        if (e != null)
            throw e;        
        
	if (!value.equals("/")) {	// NOI18N
		pw.close();
		fail("Invalid 'Base Class Path URL' field value");
	}

	
    }

// 4.6.3
    public void test_4_6_3() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue(originalPort);	// NOI18N

        psto = pw.getPropertySheetTabOperator("Expert");

	tf=new TextFieldProperty(psto,"Base Class Path URL");
	tf.setValue("");	// NOI18N
        
        AssertionFailedErrorException e = checkDialog("Information");
        
	pw.close();
        
        if (e != null)
            throw e; 
        
	startHTTPServer();

        checkResult("http://localhost:"+originalPort+"/classpath/org/netbeans/core/resources/templatesFileSystems.html",
                    15,"Select the type of filesystem that you want to mount.",true);
    }

// 4.6.4
    public void test_4_6_4() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue(originalPort);	// NOI18N

        psto = pw.getPropertySheetTabOperator("Expert");

	tf=new TextFieldProperty(psto,"Base Class Path URL");
	tf.setValue("");	// NOI18N
	pw.close();

	startHTTPServer();

        checkResult("http://localhost:"+originalPort+"/org/netbeans/core/resources/templatesFileSystems.html",
                    15,"Select the type of filesystem that you want to mount.",false);
    }
    
// 4.6.5
    public void test_4_6_5() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue(originalPort);	// NOI18N

        psto = pw.getPropertySheetTabOperator("Expert");

	tf=new TextFieldProperty(psto,"Base Class Path URL");
	tf.setValue("newclasspath");	// NOI18N
	pw.close();

	startHTTPServer();

        checkResult("http://localhost:"+originalPort+"/newclasspath/org/netbeans/core/resources/templatesFileSystems.html",
        15,"Select the type of filesystem that you want to mount.",false);
  
    }

// 4.7 Base Javadoc URL 
   
// 4.7.1
    public void test_4_7_1() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf1=new TextFieldProperty(psto,"Base Filesystems URL");
	TextFieldProperty tf2=new TextFieldProperty(psto,"Base Javadoc URL");

	tf1.setValue("foo2");	// NOI18N
	tf2.setValue("foo2");	// NOI18N

        AssertionFailedErrorException e = checkDialog("Information");
        
        tf1.setValue("repository");	// NOI18N
        tf2.setValue("javadoc");	// NOI18N
        pw.close();

        if (e != null) {
		throw e;
	}
    }

// 4.7.2
    public void test_4_7_2() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Javadoc URL");
	tf.setValue("");	// NOI18N

	String value=tf.getValue();
        AssertionFailedErrorException e = checkDialog("Information");

        tf.setValue("/javadoc/");	// NOI18N
        pw.close();

        if (e != null) {
                throw e;
	}
 
	if (!value.equals("/")) {	// NOI18N
		fail("Invalid 'Base Javadoc URL' field value");
	}
    }

// 4.7.3
    public void test_4_7_3() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue(originalPort);	// NOI18N

        psto = pw.getPropertySheetTabOperator("Expert");

	tf=new TextFieldProperty(psto,"Base Javadoc URL");
	tf.setValue("");	// NOI18N
        
        AssertionFailedErrorException e = checkDialog("Information");
 
	pw.close();
 
        if (e != null) {
                throw e;
        }
 
	startHTTPServer();

        checkResult("http://localhost:"+originalPort+"/javadoc/",2,"List of Javadoc mounts",true);
    }

// 4.7.4
    public void test_4_7_4() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue(originalPort);	// NOI18N

        psto = pw.getPropertySheetTabOperator("Expert");

	tf=new TextFieldProperty(psto,"Base Javadoc URL");
	tf.setValue("");	// NOI18N
	pw.close();

	startHTTPServer();

        checkResult("http://localhost:"+originalPort+"/",2,"List of Javadoc mounts",false);
    }
    
// 4.7.5
    public void test_4_7_5() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Port");
	tf.setValue(originalPort);	// NOI18N

        psto = pw.getPropertySheetTabOperator("Expert");

	tf=new TextFieldProperty(psto,"Base Javadoc URL");
	tf.setValue("newjavadoc");	// NOI18N
	pw.close();

	startHTTPServer();

        checkResult("http://localhost:"+originalPort+"/newjavadoc/",2,"List of Javadoc mounts",false);
    }


// 4.8 General Behavior 

// 4.8.1
    public void test_4_8_01() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Hosts with Granted Access");
	tf.openEditor();

        AssertionFailedErrorException e = checkDialog("Hosts with Granted Access");
        pw.close();
        if (e != null)
            throw e;
    }

// 4.8.2
    public void test_4_8_02() {
	
	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Hosts with Granted Access");
	tf.setValue("Selected Hosts: ");
	tf.openEditor();

	try {
		dop=new NbDialogOperator("Hosts with Granted Access");
	} catch(Exception ex) {
		pw.close();
		throw new AssertionFailedErrorException("No 'Hosts with Granted Access' dialog appears",ex);
	}

	JRadioButtonOperator rb=new JRadioButtonOperator(dop,"Any Host");
	rb.doClick();
	JButtonOperator cancel=new JButtonOperator(dop,org.netbeans.jellytools.Bundle.getString("org.netbeans.core.Bundle", "CANCEL_OPTION_CAPTION"));
	cancel.doClick();

	value=tf.getValue();
	if (!value.equals("Selected Hosts: ")) {
		pw.close();
		fail("Cancel doesn't work.");
	}

	pw.close();
    }

// 4.8.3
    public void test_4_8_03() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Hosts with Granted Access");
	tf.setValue("Selected Hosts: ");
	tf.openEditor();

	try {
		dop=new NbDialogOperator("Hosts with Granted Access");
	} catch(Exception ex) {
		pw.close();
		throw new AssertionFailedErrorException("No 'Hosts with Granted Access' dialog appears",ex);
	}

	JRadioButtonOperator rb=new JRadioButtonOperator(dop,"Any Host");
	rb.doClick();
	JButtonOperator ok=new JButtonOperator(dop,org.netbeans.jellytools.Bundle.getString("org.netbeans.core.Bundle", "OK_OPTION_CAPTION"));
	ok.doClick();

	value=tf.getValue();
	if (!value.equals("Any Host")){
		pw.close();
		fail("'Any Host' isn't set.");
	}

	pw.close();
    }

// 4.8.4
    public void test_4_8_04() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Hosts with Granted Access");
        tf.setValue("foo");	// NOI18N

        value=tf.getValue();
	pw.close();
	if (!value.equals("Selected Hosts: foo")) {
		pw.close();
		fail("'Selected Hosts: foo' isn't set.");
	}
    }

// 4.8.5
    public void test_4_8_05() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Hosts with Granted Access");
	tf.setValue("Any Host");
	tf.openEditor();

	try {
		dop=new NbDialogOperator("Hosts with Granted Access");
	} catch(Exception ex) {
		pw.close();
		throw new AssertionFailedErrorException("No 'Hosts with Granted Access' dialog appears",ex);
	}

	JRadioButtonOperator rb=new JRadioButtonOperator(dop,"Selected Hosts");
	rb.doClick();
	JButtonOperator ok=new JButtonOperator(dop,org.netbeans.jellytools.Bundle.getString("org.netbeans.core.Bundle", "OK_OPTION_CAPTION"));
	ok.doClick();

	value=tf.getValue();
	pw.close();
	if (!value.equals("Selected Hosts: ")) {
		pw.close();
		fail("'Selected Hosts: ' isn't set.");
	}

    }

// 4.8.6
    public void test_4_8_06() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	Property tf=new Property(psto,"Hosts with Granted Access");
	old_value=tf.getValue();

        
	//JTextFieldOperator to=tf.textField();
        //to.typeText("Selected Hosts: localhost");
        tf.setValue("Selected Hosts: localhost");

        pw.pushKey(java.awt.event.KeyEvent.VK_TAB);
        pw.pushKey(java.awt.event.KeyEvent.VK_TAB);

        /*
	try {
		Robot rb=new java.awt.Robot();
		rb.keyPress(java.awt.event.KeyEvent.VK_TAB);
		rb.keyPress(java.awt.event.KeyEvent.VK_TAB);
	} catch (Exception AWTException) {
		System.out.println("AWTException in test_4_8_6");	// NOI18N
	}
        */

	value=tf.getValue();
	if (!value.equals("Selected Hosts: localhost")) {
		pw.close();
		fail("Invalid 'Hosts with Granted Access' field value ("+value+")");
	}

	tf.setValue(old_value);
	pw.close();
    }

// 4.8.7
    public void test_4_8_07() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Hosts with Granted Access");
	old_value=tf.getValue();

	//JTextFieldOperator to=tf.textField();
        //to.typeText("Selected Hosts: localhost, boo");
        tf.setValue("Selected Hosts: localhost, boo");

        pw.pushKey(java.awt.event.KeyEvent.VK_TAB);
        pw.pushKey(java.awt.event.KeyEvent.VK_TAB);
        /*
	try {
		Robot rb=new java.awt.Robot();
		rb.keyPress(java.awt.event.KeyEvent.VK_TAB);
		rb.keyPress(java.awt.event.KeyEvent.VK_TAB);
	} catch (Exception AWTException) {
		System.out.println("AWTException in test_4_8_7");	// NOI18N
	}
        */

	value=tf.getValue();
	if (!value.equals("Selected Hosts: localhost, boo")) {
		pw.close();
		fail("Invalid 'Hosts with Granted Access' field value ("+value+")");
	}

	pw.close();
    }

// 4.8.8
    public void test_4_8_08() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Hosts with Granted Access");
        tf.setValue("Selected Hosts: localhost, boo");
	tf.openEditor();

	try {
		dop=new NbDialogOperator("Hosts with Granted Access");
	} catch(Exception ex) {
		//dop.close();
		pw.close();
		throw new AssertionFailedErrorException("No 'Hosts with Granted Access' dialog appears",ex);
	}

	JTextAreaOperator jt=new JTextAreaOperator(dop,0);
	value=jt.getText();
	if (!value.equals("localhost, boo")) {
		dop.close();
        	pw.close();
		fail("Invalid 'Grant Access to:' textarea value ("+value+")");
	}

	dop.close();
	pw.close();
    }

// 4.8.9
    public void test_4_8_09() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Class Path URL");
	tf.openEditor();

        
        AssertionFailedErrorException e = checkDialog("Base Class Path URL");
        // What is in value ????
        //tf.setValue(value);        
        pw.close();
        if (e != null)
            throw e;       
        
    }

// 4.8.10
    public void test_4_8_10() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Class Path URL");
	tf.openEditor();
	
	try {
		dop=new NbDialogOperator("Base Class Path URL");
	} catch(Exception ex) {
                //dop.close();
		pw.close();
		throw new AssertionFailedErrorException("No 'Base Class Path URL' dialog appears",ex);
	}

	JTextAreaOperator jt=new JTextAreaOperator(dop,0);
	value=jt.getText();
	jt.setText("/qqqqqqq/");	// NOI18N
	JButtonOperator cancel=new JButtonOperator(dop,org.netbeans.jellytools.Bundle.getString("org.netbeans.core.Bundle", "CANCEL_OPTION_CAPTION"));
	cancel.doClick();

	if (!value.equals(tf.getValue())) {
		pw.close();
		fail("Cancel in 'Base Class Path URL' dialog doesn't work");
	}

	pw.close();
    }

// 4.8.11
    public void test_4_8_11() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Class Path URL");
	old_value=tf.getValue();

	//JTextFieldOperator to=tf.textField();
        //to.typeText("/testvalue_cp/");	// NOI18N
        tf.setValue("/testvalue_cp/");	// NOI18N

        pw.pushKey(java.awt.event.KeyEvent.VK_TAB);
        pw.pushKey(java.awt.event.KeyEvent.VK_TAB);
        /*
	try {
		Robot rb=new java.awt.Robot();
		rb.keyPress(java.awt.event.KeyEvent.VK_TAB);
		rb.keyPress(java.awt.event.KeyEvent.VK_TAB);
	} catch (Exception AWTException) {
		System.out.println("AWTException in test_4_8_12");	// NOI18N
	}
        */

	value=tf.getValue();
	if (!value.equals("/testvalue_cp/")) {	// NOI18N
		pw.close();
		fail("Invalid 'Base Class Path URL' field value ("+value+")");
	}

	pw.close();
    }

// 4.8.12
    public void test_4_8_12() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Class Path URL");
        tf.setValue("/testvalue_cp/");	// NOI18N
	tf.openEditor();
	
	try {
		dop=new NbDialogOperator("Base Class Path URL");
	} catch(Exception ex) {
		//dop.close();
		pw.close();
		throw new AssertionFailedErrorException("No 'Base Class Path URL' dialog appears",ex);
	}

	JTextAreaOperator jt=new JTextAreaOperator(dop,0);
	value=jt.getText();
	if (!value.equals("/testvalue_cp/")) {	// NOI18N
		dop.close();
		pw.close();
		fail("Invalid 'Base Class Path URL' field value ("+value+")");
	}

	dop.close();	
	pw.close();
    }

// 4.8.13
    public void test_4_8_13() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Class Path URL");
	tf.openEditor();
	
	try {
		dop=new NbDialogOperator("Base Class Path URL");
	} catch(Exception ex) {
		//dop.close();
		pw.close();
		throw new AssertionFailedErrorException("No 'Base Class Path URL' dialog appears",ex);
	}

	JTextAreaOperator jt=new JTextAreaOperator(dop,0);
	jt.setText("classpath");	// NOI18N

	JButtonOperator ok=new JButtonOperator(dop,org.netbeans.jellytools.Bundle.getString("org.netbeans.core.Bundle", "OK_OPTION_CAPTION"));
	ok.doClick();
	value=tf.getValue();

	if (!value.equals("/classpath/")) {	// NOI18N
		dop.close();
		pw.close();
		fail("Invalid 'Base Class Path URL' field value ("+value+")");
	}

	pw.close();
    }

// 4.8.14
    public void test_4_8_14() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Filesystems URL");
	tf.openEditor();

        AssertionFailedErrorException e = checkDialog("Base Filesystems URL");
        // what is in value???
        //tf.setValue(value);
        pw.close();
        if (e != null)
            throw e;          
    }

// 4.8.15
    public void test_4_8_15() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Filesystems URL");
	tf.openEditor();
	
	try {
		dop=new NbDialogOperator("Base Filesystems URL");
	} catch(Exception ex) {
		//dop.close();
		pw.close();
		throw new AssertionFailedErrorException("No 'Base Filesystems URL' dialog appears",ex);
	}

	JTextAreaOperator jt=new JTextAreaOperator(dop,0);
	value=jt.getText();
	jt.setText("/qqqqqqq/");	// NOI18N
	JButtonOperator cancel=new JButtonOperator(dop,org.netbeans.jellytools.Bundle.getString("org.netbeans.core.Bundle", "CANCEL_OPTION_CAPTION"));
	cancel.doClick();

	if (!value.equals(tf.getValue())) {
		dop.close();
		pw.close();
		fail("Cancel in 'Base Filesystems URL' dialog doesn't work");
	}

	pw.close();
    }

// 4.8.16
    public void test_4_8_16() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Filesystems URL");
	old_value=tf.getValue();

	//JTextFieldOperator to=tf.textField();
        //to.typeText("/testvalue_fs/");	// NOI18N
        tf.setValue("/testvalue_fs/");	// NOI18N

        pw.pushKey(java.awt.event.KeyEvent.VK_TAB);
        pw.pushKey(java.awt.event.KeyEvent.VK_TAB);
        /*
	try {
		Robot rb=new java.awt.Robot();
		rb.keyPress(java.awt.event.KeyEvent.VK_TAB);
		rb.keyPress(java.awt.event.KeyEvent.VK_TAB);
	} catch (Exception AWTException) {
		System.out.println("AWTException in test_4_8_17");	// NOI18N
	}
        */

	value=tf.getValue();
	if (!value.equals("/testvalue_fs/")) {	// NOI18N
		pw.close();
		fail("Invalid 'Base Filesystems URL' field value ("+value+")");
	}

	pw.close();
    }

// 4.8.17
    public void test_4_8_17() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Filesystems URL");
        tf.setValue("/testvalue_fs/");	// NOI18N
	tf.openEditor();
	
	try {
		dop=new NbDialogOperator("Base Filesystems URL");
	} catch(Exception ex) {
		//dop.close();
		pw.close();
		throw new AssertionFailedErrorException("No 'Base Filesystems URL' dialog appears",ex);
	}

	JTextAreaOperator jt=new JTextAreaOperator(dop,0);
	value=jt.getText();
	if (!value.equals("/testvalue_fs/")) {	// NOI18N
		dop.close();
		pw.close();
		fail("Invalid 'Base Filesystems URL' field value ("+value+")");
	}

	dop.close();
	pw.close();
    }

// 4.8.18
    public void test_4_8_18() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Filesystems URL");
	tf.openEditor();
	
	try {
		dop=new NbDialogOperator("Base Filesystems URL");
	} catch(Exception ex) {
		//dop.close();
		pw.close();
		throw new AssertionFailedErrorException("No 'Base Filesystems URL' dialog appears",ex);
	}

	JTextAreaOperator jt=new JTextAreaOperator(dop,0);
	jt.setText("repository");	// NOI18N

	JButtonOperator ok=new JButtonOperator(dop,org.netbeans.jellytools.Bundle.getString("org.netbeans.core.Bundle", "OK_OPTION_CAPTION"));
	ok.doClick();
	value=tf.getValue();

	if (!value.equals("/repository/")) {	// NOI18N
		dop.close();
		pw.close();
		fail("Invalid 'Base Filesystems URL' field value ("+value+")");
	}

	pw.close();
    }

// 4.8.19
    public void test_4_8_19() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Javadoc URL");
	tf.openEditor();

	
        AssertionFailedErrorException e = checkDialog("Base Javadoc URL");
        // what is in value???
        //tf.setValue(value);
        pw.close();
        if (e != null)
            throw e; 
    }

// 4.8.20
    public void test_4_8_20() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Javadoc URL");
	tf.openEditor();
	
	try {
		dop=new NbDialogOperator("Base Javadoc URL");
	} catch(Exception ex) {
		//dop.close();
		pw.close();
		throw new AssertionFailedErrorException("No 'Base Javadoc URL' dialog appears",ex);
	}

	JTextAreaOperator jt=new JTextAreaOperator(dop,0);
	value=jt.getText();
	jt.setText("/qqqqqqq/");	// NOI18N
	JButtonOperator cancel=new JButtonOperator(dop,org.netbeans.jellytools.Bundle.getString("org.netbeans.core.Bundle", "CANCEL_OPTION_CAPTION"));
	cancel.doClick();

	if (!value.equals(tf.getValue())) {
		dop.close();
		pw.close();
		fail("Cancel in 'Base Javadoc URL' dialog doesn't work");
	}

	pw.close();
    }

// 4.8.21
    public void test_4_8_21() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Javadoc URL");
	old_value=tf.getValue();

	//JTextFieldOperator to=tf.textField();
        //to.typeText("/testvalue_jd/");	// NOI18N
        tf.setValue("/testvalue_jd/");	// NOI18N

        pw.pushKey(java.awt.event.KeyEvent.VK_TAB);
        pw.pushKey(java.awt.event.KeyEvent.VK_TAB);
        /*
	try {
		Robot rb=new java.awt.Robot();
		rb.keyPress(java.awt.event.KeyEvent.VK_TAB);
		rb.keyPress(java.awt.event.KeyEvent.VK_TAB);
	} catch (Exception AWTException) {
		System.out.println("AWTException in test_4_8_22");	// NOI18N
	}
        */

	value=tf.getValue();
	if (!value.equals("/testvalue_jd/")) {	// NOI18N
		pw.close();
		fail("Invalid 'Base Javadoc URL' field value ("+value+")");
	}

	pw.close();
    }

// 4.8.22
    public void test_4_8_22() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Javadoc URL");
        tf.setValue("/testvalue_jd/");	// NOI18N
	tf.openEditor();
	
	try {
		dop=new NbDialogOperator("Base Javadoc URL");
	} catch(Exception ex) {
		//dop.close();
		pw.close();
		throw new AssertionFailedErrorException("No 'Base Javadoc URL' dialog appears",ex);
	}

	JTextAreaOperator jt=new JTextAreaOperator(dop,0);
	value=jt.getText();
	if (!value.equals("/testvalue_jd/")) {	// NOI18N
		dop.close();
		pw.close();
		fail("Invalid 'Base Javadoc URL' field value ("+value+")");
	}

	dop.close();
	pw.close();
    }

// 4.8.23
    public void test_4_8_23() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Expert");

	TextFieldProperty tf=new TextFieldProperty(psto,"Base Javadoc URL");
	tf.openEditor();
	
	try {
		dop=new NbDialogOperator("Base Javadoc URL");
	} catch(Exception ex) {
		//dop.close();
		pw.close();
		throw new AssertionFailedErrorException("No 'Base Javadoc URL' dialog appears",ex);
	}

	JTextAreaOperator jt=new JTextAreaOperator(dop,0);
	jt.setText("javadoc");	// NOI18N

	JButtonOperator ok=new JButtonOperator(dop,org.netbeans.jellytools.Bundle.getString("org.netbeans.core.Bundle", "OK_OPTION_CAPTION"));
	ok.doClick();
	value=tf.getValue();

	if (!value.equals("/javadoc/")) {	// NOI18N
		dop.close();
		pw.close();
		fail("Invalid 'Base Javadoc URL' field value ("+value+")");
	}

	pw.close();
    }

// 4.8.24
    public void test_4_8_24() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Hosts with Granted Access");
	tf.setValue("Any Host");
	tf.openEditor();

	try {
		dop=new NbDialogOperator("Hosts with Granted Access");
	} catch(Exception ex) {
		pw.close();
		throw new AssertionFailedErrorException("No 'Hosts with Granted Access' dialog appears",ex);
	}

	JRadioButtonOperator rb=new JRadioButtonOperator(dop,"Selected Hosts");
	rb.doClick();

	JTextAreaOperator jt=new JTextAreaOperator(dop,0);
	jt.setText("boo");	// NOI18N

	JButtonOperator ok=new JButtonOperator(dop,org.netbeans.jellytools.Bundle.getString("org.netbeans.core.Bundle", "OK_OPTION_CAPTION"));
	ok.doClick();

	value=tf.getValue();
	if (!value.equals("Selected Hosts: boo")) {
		pw.close();
		fail("'Selected Hosts: ' isn't set. ("+value+")");
	}

	pw.close();
    }

// 4.9 Accessibility

// 4.9.1
    public void test_4_9_1() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Hosts with Granted Access");
	tf.setValue("Selected Hosts: ");
	tf.openEditor();

	try {
		dop=new NbDialogOperator("Hosts with Granted Access");
	} catch(Exception ex) {
		//dop.close();
		pw.close();
		throw new AssertionFailedErrorException("No 'Hosts with Granted Access' dialog appears",ex);
	}

        dop.pushKey(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.ALT_MASK);
        dop.releaseKey(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.ALT_MASK);
        
        /*
	try {
		Robot rb=new java.awt.Robot();
		rb.keyPress(java.awt.event.KeyEvent.VK_ALT);
		rb.keyPress(java.awt.event.KeyEvent.VK_N);
		rb.keyRelease(java.awt.event.KeyEvent.VK_N);
		rb.keyRelease(java.awt.event.KeyEvent.VK_ALT);
	} catch (Exception AWTException) {
		System.out.println("AWTException in test_4_9_1");	// NOI18N
	}
         */
        

	dop.ok();
	value=tf.getValue();

	if (!value.equals("Any Host")) {
		pw.close();
		fail("Invalid 'Hosts with Granted Access' field value ("+value+")");
	}

	pw.close();
    }

// 4.9.2
    public void test_4_9_2() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Hosts with Granted Access");
	tf.setValue("Any Host");
	tf.openEditor();

	try {
		dop=new NbDialogOperator("Hosts with Granted Access");
	} catch(Exception ex) {
		//dop.close();
		pw.close();
		throw new AssertionFailedErrorException("No 'Hosts with Granted Access' dialog appears",ex);
	}

        dop.pushKey(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.ALT_MASK);
        dop.releaseKey(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.ALT_MASK);
        
        /*
	try {
		Robot rb=new java.awt.Robot();
		rb.keyPress(java.awt.event.KeyEvent.VK_ALT);
		rb.keyPress(java.awt.event.KeyEvent.VK_S);
		rb.keyRelease(java.awt.event.KeyEvent.VK_S);
		rb.keyRelease(java.awt.event.KeyEvent.VK_ALT);
	} catch (Exception AWTException) {
		System.out.println("AWTException in test_4_9_2");	// NOI18N
	}
        */

	dop.ok();
	value=tf.getValue();

	if (!value.equals("Selected Hosts: ")) {
		pw.close();
		fail("Invalid 'Hosts with Granted Access' field value");
	}

	pw.close();
    }

// 4.9.3
    public void test_4_9_3() {

	switchToHTTPServerNode();
        PropertySheetOperator pw = new PropertySheetOperator("HTTP Server");
        psto = pw.getPropertySheetTabOperator("Properties");

	TextFieldProperty tf=new TextFieldProperty(psto,"Hosts with Granted Access");
	tf.setValue("Selected Hosts: ");
	tf.openEditor();

	try {
		dop=new NbDialogOperator("Hosts with Granted Access");
	} catch(Exception ex) {
		//dop.close();
		pw.close();
		throw new AssertionFailedErrorException("No 'Hosts with Granted Access' dialog appears",ex);
	}

        dop.pushKey(java.awt.event.KeyEvent.VK_G, java.awt.event.InputEvent.ALT_MASK);
        dop.releaseKey(java.awt.event.KeyEvent.VK_G, java.awt.event.InputEvent.ALT_MASK);
        
        /*
        JTextAreaOperator jt = new JTextAreaOperator(dop);
        jt.pushKey(java.awt.event.KeyEvent.VK_T);
        jt.releaseKey(java.awt.event.KeyEvent.VK_T);
        jt.pushKey(java.awt.event.KeyEvent.VK_E);
        jt.releaseKey(java.awt.event.KeyEvent.VK_E);
        jt.pushKey(java.awt.event.KeyEvent.VK_S);
        jt.releaseKey(java.awt.event.KeyEvent.VK_S);
        jt.pushKey(java.awt.event.KeyEvent.VK_T);
        jt.releaseKey(java.awt.event.KeyEvent.VK_T);
        */
                
        
        try {
		Robot rb=new java.awt.Robot();
                /*
		rb.keyPress(java.awt.event.KeyEvent.VK_ALT);
		rb.keyPress(java.awt.event.KeyEvent.VK_G);
		rb.keyRelease(java.awt.event.KeyEvent.VK_G);
		rb.keyRelease(java.awt.event.KeyEvent.VK_ALT);
                */
		rb.keyPress(java.awt.event.KeyEvent.VK_T);
		rb.keyRelease(java.awt.event.KeyEvent.VK_T);
		rb.keyPress(java.awt.event.KeyEvent.VK_E);
		rb.keyRelease(java.awt.event.KeyEvent.VK_E);
		rb.keyPress(java.awt.event.KeyEvent.VK_S);
		rb.keyRelease(java.awt.event.KeyEvent.VK_S);
		rb.keyPress(java.awt.event.KeyEvent.VK_T);
		rb.keyRelease(java.awt.event.KeyEvent.VK_T);
	} catch (Exception AWTException) {
		System.out.println("AWTException in test_4_9_3");	// NOI18N
	}
        

	dop.ok();
	value=tf.getValue();

	if (!value.equals("Selected Hosts: test")) {
		pw.close();
		fail("Invalid 'Hosts with Granted Access' field value ("+value+")");
	}

	pw.close();
    }
  
} 
... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.