You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ar...@apache.org on 2012/01/27 02:29:58 UTC

svn commit: r1236486 [40/43] - in /incubator/ooo/devtools/netbeansintegration: ./ build/ build/public-package-jars/ javahelp/ javahelp/org/ javahelp/org/openoffice/ javahelp/org/openoffice/extensions/ javahelp/org/openoffice/extensions/docs/ javahelp/o...

Added: incubator/ooo/devtools/netbeansintegration/test/qa-functional/src/org/openoffice/extensions/test/SelectANewDataType.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/qa-functional/src/org/openoffice/extensions/test/SelectANewDataType.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/qa-functional/src/org/openoffice/extensions/test/SelectANewDataType.java (added)
+++ incubator/ooo/devtools/netbeansintegration/test/qa-functional/src/org/openoffice/extensions/test/SelectANewDataType.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,145 @@
+/* ************************************************************************
+ *
+ *  OpenOffice.org - a multi-platform office productivity suite
+ *
+ *  $RCSfile: SelectANewDataType.java,v $
+ *
+ *  $Revision: 1.1 $
+ *
+ *  last change: $Author: sg $ $Date: 2007/09/04 15:09:18 $
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2005 by Sun Microsystems, Inc.
+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+package org.openoffice.extensions.test;
+
+import org.netbeans.jellytools.NbDialogOperator;
+import org.netbeans.jemmy.operators.*;
+
+/** Class implementing all necessary methods for handling "Select a new Data type" NbDialog.
+ *
+ * @author Thorsten
+ * @version 1.0
+ */
+public class SelectANewDataType extends NbDialogOperator {
+
+    /** Creates new SelectANewDataType that can handle it.
+     * @param testName 
+     */
+    public SelectANewDataType(String testName) {
+       super(testName);
+    }
+
+    private JTreeOperator _treeTreeView$ExplorerTree;
+    private JLabelOperator _lblDisplayType;
+    private JComboBoxOperator _cboJComboBox;
+    /**
+     * 
+     */
+    public static final String ITEM_ALL = "All";
+    /**
+     * 
+     */
+    public static final String ITEM_SERVICES = "Services";
+    /**
+     * 
+     */
+    public static final String ITEM_INTERFACES = "Interfaces";
+
+
+    //******************************
+    // Subcomponents definition part
+    //******************************
+
+    /** Tries to find null TreeView$ExplorerTree in this dialog.
+     * @return JTreeOperator
+     */
+    public JTreeOperator treeTreeView$ExplorerTree() {
+        if (_treeTreeView$ExplorerTree==null) {
+            _treeTreeView$ExplorerTree = new JTreeOperator(this);
+        }
+        return _treeTreeView$ExplorerTree;
+    }
+
+    /** Tries to find "Display Type" JLabel in this dialog.
+     * @return JLabelOperator
+     */
+    public JLabelOperator lblDisplayType() {
+        if (_lblDisplayType==null) {
+            _lblDisplayType = new JLabelOperator(this, "Display Type");
+        }
+        return _lblDisplayType;
+    }
+
+    /** Tries to find null JComboBox in this dialog.
+     * @return JComboBoxOperator
+     */
+    public JComboBoxOperator cboJComboBox() {
+        if (_cboJComboBox==null) {
+            _cboJComboBox = new JComboBoxOperator(this);
+        }
+        return _cboJComboBox;
+    }
+
+
+    //****************************************
+    // Low-level functionality definition part
+    //****************************************
+
+    /** returns selected item for cboJComboBox
+     * @return String item
+     */
+    public String getSelectedJComboBox() {
+        return cboJComboBox().getSelectedItem().toString();
+    }
+
+    /** selects item for cboJComboBox
+     * @param item String item
+     */
+    public void selectJComboBox(String item) {
+        cboJComboBox().selectItem(item);
+    }
+
+
+    //*****************************************
+    // High-level functionality definition part
+    //*****************************************
+
+    /** Performs verification of SelectANewDataType by accessing all its components.
+     */
+    public void verify() {
+        treeTreeView$ExplorerTree();
+        lblDisplayType();
+        cboJComboBox();
+    }
+
+    /** Performs simple test of SelectANewDataType
+    * @param args the command line arguments
+    public static void main(String args[]) {
+        new SelectANewDataType().verify();
+        System.out.println("SelectANewDataType verification finished.");
+    }
+    */
+}
+

Added: incubator/ooo/devtools/netbeansintegration/test/qa-functional/src/org/openoffice/extensions/test/Test.properties
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/qa-functional/src/org/openoffice/extensions/test/Test.properties?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/qa-functional/src/org/openoffice/extensions/test/Test.properties (added)
+++ incubator/ooo/devtools/netbeansintegration/test/qa-functional/src/org/openoffice/extensions/test/Test.properties Fri Jan 27 01:29:33 2012
@@ -0,0 +1,4 @@
+# Sample ResourceBundle properties file
+OfficeInstallation=/export/home/sg128468/office/jsc21/opt/staroffice9
+SDKInstallation=/export/home/sg128468/office/jsc21/opt/openoffice.org/basis3.0/sdk
+PluginPath=/export/home/sg128468/tmp/api/oonetbeansintegration/ooextensions/build/org-openoffice-extensions.nbm

Added: incubator/ooo/devtools/netbeansintegration/test/qa-functional/src/org/openoffice/extensions/test/TestAllResourcesTest.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/qa-functional/src/org/openoffice/extensions/test/TestAllResourcesTest.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/qa-functional/src/org/openoffice/extensions/test/TestAllResourcesTest.java (added)
+++ incubator/ooo/devtools/netbeansintegration/test/qa-functional/src/org/openoffice/extensions/test/TestAllResourcesTest.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,867 @@
+/*************************************************************************
+ *
+ *  OpenOffice.org - a multi-platform office productivity suite
+ *
+ *  $RCSfile: TestAllResourcesTest.java,v $
+ *
+ *  $Revision: 1.2 $
+ *
+ *  last change: $Author: sg $ $Date: 2008/07/31 15:47:00 $
+ *
+ *  The Contents of this file are made available subject to
+ *  the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ *    GNU Lesser General Public License Version 2.1
+ *    =============================================
+ *    Copyright 2005 by Sun Microsystems, Inc.
+ *    901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+ *    License version 2.1, as published by the Free Software Foundation.
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *    Lesser General Public License for more details.
+ *
+ *    You should have received a copy of the GNU Lesser General Public
+ *    License along with this library; if not, write to the Free Software
+ *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ *    MA  02111-1307  USA
+ *
+ ************************************************************************/
+
+package org.openoffice.extensions.test;
+
+
+import java.awt.Component;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Date;
+import java.util.Properties;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JTabbedPane;
+import org.netbeans.jellytools.Bundle;
+import org.netbeans.jellytools.JellyTestCase;
+import org.netbeans.jellytools.MainWindowOperator;
+import org.netbeans.jellytools.NbDialogOperator;
+import org.netbeans.jellytools.NewProjectWizardOperator;
+import org.netbeans.jellytools.OptionsOperator;
+import org.netbeans.jellytools.OutputTabOperator;
+import org.netbeans.jellytools.PluginsOperator;
+import org.netbeans.jellytools.ProjectsTabOperator;
+import org.netbeans.jellytools.actions.Action;
+import org.netbeans.jellytools.actions.DeleteAction;
+import org.netbeans.jellytools.nodes.Node;
+import org.netbeans.jellytools.nodes.ProjectRootNode;
+import org.netbeans.jemmy.ComponentChooser;
+import org.netbeans.jemmy.JemmyProperties;
+import org.netbeans.jemmy.TimeoutExpiredException;
+import org.netbeans.jemmy.operators.JButtonOperator;
+import org.netbeans.jemmy.operators.JCheckBoxOperator;
+import org.netbeans.jemmy.operators.JTabbedPaneOperator;
+import org.netbeans.jemmy.operators.JTableOperator;
+import org.netbeans.jemmy.operators.JTreeOperator;
+import org.netbeans.junit.NbTestSuite;
+//import org.netbeans.junit.ide.ProjectSupport;
+
+/**
+ * A Test based on JellyTestCase. JellyTestCase redirects Jemmy output
+ * to a log file provided by NbTestCase. It can be inspected in results.
+ * It also sets timeouts necessary for NetBeans GUI testing.
+ *
+ * Any JemmyException (which is normally thrown as a result of an unsuccessful
+ * operation in Jemmy) going from a test is treated by JellyTestCase as a test
+ * failure; any other exception - as a test error.
+ *
+ * Additionally it:
+ *    - closes all modal dialogs at the end of the test case (property jemmy.close.modal - default true)
+ *    - generates component dump (XML file containing components information) in case of test failure (property jemmy.screen.xmldump - default false)
+ *    - captures screen into a PNG file in case of test failure (property jemmy.screen.capture - default true)
+ *    - waits at least 1000 ms between test cases (property jelly.wait.no.event - default true)
+ *
+ * @author Thorsten Bosbach
+ * Created on 21. April 2007, 20:25
+ */
+public class TestAllResourcesTest extends JellyTestCase {
+    static File fUserFolder = null;
+    
+    /** Constructor required by JUnit
+     * @param name
+     */
+    public TestAllResourcesTest(String name) {
+        super(name);
+    }
+    
+    /** Creates suite from particular test cases. You can define order of testcases here.
+     * @return
+     */
+    public static NbTestSuite suite() {
+        NbTestSuite suite = new NbTestSuite();
+        suite.addTest(new TestAllResourcesTest("testInstallation"));
+        suite.addTest(new TestAllResourcesTest("testOptions"));
+        suite.addTest(new TestAllResourcesTest("testComponent"));
+        suite.addTest(new TestAllResourcesTest("testCalcAddIn"));
+        suite.addTest(new TestAllResourcesTest("testAddOn"));
+
+        // missing tests for filetypes
+        // missing test for debugging feature
+        // Make directory for backup of extensions
+        fUserFolder = new java.io.File(System.getProperty("user.home") + File.separator + String.valueOf(System.currentTimeMillis()));
+        if (fUserFolder.mkdir()) {
+            System.out.println("Created directory: " + fUserFolder.toString());
+        } else {
+            System.out.println("ERROR: Couldn't created directory: " + fUserFolder.toString());
+        }
+        return suite;
+    }
+    
+    /** Method allowing test execution directly from the IDE.
+     *
+     * @param args
+     */
+    public static void main(java.lang.String[] args) {
+        // run whole suite
+        junit.textui.TestRunner.run(suite());
+        // run only selected test case
+        //junit.textui.TestRunner.run(new TestAllResources("test1"));
+    }
+    
+    /** Called before every test case. */
+    @Override
+    public void setUp() {
+        System.out.println("\n########  "+getName()+"  ####### "+ new Date(System.currentTimeMillis()).toString());
+    }
+    
+    /** Called after every test case. */
+    @Override
+    public void tearDown() {
+        System.out.println("#################################");
+    }
+    
+    // Add test methods here, they have to start with 'test' name.
+    
+    /** Resource test of 'OpenOffice CalcAdd-In'.
+     * <ul>
+     * TODO: Presupposion: configured OpenOffice.org SDK and OpenOffice.org Application in NetBeans options. (check needs to get implemented)
+     * <li>Open 'File - New Project...'
+     * <li>First Step of New Project wizard: Choose project
+     * <li>Select Category: OpenOffice.org
+     * <li>Select Project: OpenOffice CalcAdd-In
+     * <li>Press button: Next
+     * <li>Second step: Create a new ... project
+     * <li>Press button: Next
+     * <li>Third step: Define Functions And Descriptions
+     * <li>Add Function
+     * <li>Add Parameter, delete parameter1, add parameter (i76262)
+     * <li>Delete Function
+     * <li>
+     * <li>
+     * <li>Press button: Finished
+     * <li>From project context menu select: Build Project
+     * <li>Wait for message in output window: BUILD SUCCESSFUL  (total time: ... seconds)
+     * <li>From project context menu select: Create OXT
+     * <li>Wait for message in output window: BUILD SUCCESSFUL  (total time: ... seconds)
+     * <li>(Copy created .oxt file for further reference)
+     * <li>From project context menu select: Deploy Office Extension
+     * <li>Wait for message in output window: BUILD SUCCESSFUL  (total time: ... seconds)
+     * <li>From project context menu select: Delete Project
+     * <li>Dialog comes up: Delete Project - Are you shure you want to delete project ...?
+     * <li>Check the checkbox: Also Delete Sources Under ... Folder.
+     * <li>Press button: Yes
+     * <li>Wait for completing: Scanning Class Paths
+     * </ul>
+     */
+    public void testCalcAddIn() {
+        //assertFalse(true);// stops test here with error
+        //fail("t?t?d?"); // stops test here with error
+        // Get strings to select for new project
+        String ProjectCategory = Bundle.getStringTrimmed("org.openoffice.extensions.Bundle", "Templates/Project/org-openoffice-extensions");
+        System.out.println("ProjectCategory: " + ProjectCategory);
+        if (! ProjectCategory.equals("OpenOffice.org")){
+            System.out.println("ERROR - Category OpenOffice.org doesn't exist.");
+        }
+        String CalcLabel = Bundle.getStringTrimmed("org.openoffice.extensions.projecttemplates.calcaddin.Bundle", "Templates/Project/org-openoffice-extensions/AddinProject");
+        System.out.println("Wizard: " + CalcLabel);
+        //System.out.println(System.getProperty("netbeans.user"));
+        
+        // First step
+        NewProjectWizardOperator npwop = NewProjectWizardOperator.invoke();
+        npwop.selectCategory(ProjectCategory);
+        npwop.selectProject(CalcLabel);
+        //System.out.println(npwop.getDescription());
+        npwop.next();
+        
+        // Second step of wizard
+        NewCalcAddInStep2Operator ncais2o = new NewCalcAddInStep2Operator();
+        System.out.println("Title of 2. dialog: " + ncais2o.getTitle());
+        String sProjectName = ncais2o.txtProjectName().getText();
+        System.out.println("Project name: " + sProjectName);
+        String sProjectFolder = ncais2o.txtProjectFolder().getText();
+        System.out.println("Project folder: " + sProjectFolder);
+        ncais2o.next();
+        
+        // Third step of wizard
+        NewCalcAddInStep3Operator ncais3o = new NewCalcAddInStep3Operator();
+        System.out.println("Title of 3. dialog: " + ncais3o.getTitle());
+        JTreeOperator jto = ncais3o.treeTreeView$ExplorerTree();
+        int iRC = jto.getRowCount();
+        if (iRC != 1) {
+            System.out.println("ERROR: Expected just one defined function, but there are: " + iRC);
+        }
+        Node noxx = new Node(jto,"");
+        System.out.println(noxx.getText());
+        String [] noxxChild = noxx.getChildren();
+        System.out.println("Name of first children: " + noxxChild[0]);
+        
+        // Add a function
+        ncais3o.addFunction();
+        jto = ncais3o.treeTreeView$ExplorerTree();
+        int iRC2 = jto.getRowCount();
+        if (iRC2 != 2) {
+            System.out.println("ERROR: Added function, but result is not 2 it is: " + iRC2);
+        }
+        noxx = new Node(jto,"");
+        noxxChild = noxx.getChildren();
+        System.out.println("Current Functions are:");
+        for (int i = 0;i<noxxChild.length;i++) {
+            System.out.println( i + ": " + (noxxChild[i]));
+        }
+        if (noxxChild[0].equals(noxxChild[1])) {
+            System.out.println("ERROR: Added function has same name as first one.");
+        }
+        
+        // Add Parameter
+        // unfold first function
+        jto.doExpandRow(0);
+        noxx = new Node(jto,jto.getPathForRow(0));
+        noxxChild = noxx.getChildren();
+        System.out.println("Current Items for function1 are:");
+        for (int i = 0;i<noxxChild.length;i++) {
+            System.out.println( i + ": " + (noxxChild[i]));
+        }
+        ncais3o.addParameter();
+        jto = ncais3o.treeTreeView$ExplorerTree();
+        noxx = new Node(jto,jto.getPathForRow(0));
+        noxxChild = noxx.getChildren();
+        System.out.println("Current Items for function1 after adding parameter are:");
+        for (int i = 0;i<noxxChild.length;i++) {
+            System.out.println( i + ": " + (noxxChild[i]));
+        }
+   /* known issue 'double parameter name'
+        // Delete Parameter1 in function1 via context menu
+        noxx = new Node(noxx,8);
+        System.out.println("Node to delete: " + noxx.getText());
+        try {
+            new Action(null, "Delete").perform(noxx);
+        } catch (org.netbeans.junit.AssertionFailedErrorException e) {
+            System.out.println("ERROR: delete failed");
+        }
+    
+        // Add Parameter
+        ncais3o.addParameter();
+        jto = ncais3o.treeTreeView$ExplorerTree();
+        noxx = new Node(jto,jto.getPathForRow(0));
+        noxxChild = noxx.getChildren();
+        System.out.println("Current Items for function1 after adding parameter are:");
+        for (int i = 0;i<noxxChild.length;i++) {
+            System.out.println( i + ": " + (noxxChild[i]));
+        }
+        if (noxxChild[noxxChild.length-1].equals(noxxChild[noxxChild.length-2])) {
+            System.out.println("ERROR: Added parameter has same name as first one.");
+            JLabelOperator jlblo = new JLabelOperator(ncais3o,3);
+            if (jlblo.getText().length() > 0) {
+                System.out.println(jlblo.getText());
+            }
+        }
+        if (ncais3o.btFinish().isEnabled()) {
+            System.out.println("ERROR: Finish button is enabled, but added parameter has same name as first one.");
+        }
+        // In NB6.0 there is a NullPointer exeption on deleting the parameter
+        jto = ncais3o.treeTreeView$ExplorerTree();
+        iRC2 = jto.getRowCount();
+        noxx = new Node(noxx,noxxChild.length-1);
+        System.out.println("Node to delete: " + noxx.getText());
+        try {
+            new Action(null, "Delete").perform(noxx);
+        } catch (org.netbeans.junit.AssertionFailedErrorException e) {
+            System.out.println("ERROR: delete failed");
+        }
+        jto = ncais3o.treeTreeView$ExplorerTree();
+        iRC = jto.getRowCount();
+        if (iRC == iRC2) {
+            System.out.println("ERROR: delete failed");
+        }
+        noxx = new Node(jto,jto.getPathForRow(0));
+        noxxChild = noxx.getChildren();
+        System.out.println("Current Items for function1 after adding parameter are:");
+        for (int i = 0;i<noxxChild.length;i++) {
+            System.out.println( i + ": " + (noxxChild[i]));
+        }
+    
+        //TODO: try to make a double name by renaming a parameter, then try to change the name to unique -> both get changed!
+        //TODO: check what happens, if double name get's changed to unique name by manual editing'
+    
+        // Delete a function
+        jto = ncais3o.treeTreeView$ExplorerTree();
+        jto.selectRow(0);
+        ncais3o.delete();
+        jto = ncais3o.treeTreeView$ExplorerTree();
+        iRC = jto.getRowCount();
+        if (iRC != 1) {
+            System.out.println("ERROR: function not deleted: " + iRC);
+        }
+        noxx = new Node(jto,"");
+        noxxChild = noxx.getChildren();
+        System.out.println("Name of first children: " + noxxChild[0]);
+    
+        //i75328 stupid function name generation ;-)
+        // Add a function
+        ncais3o.addFunction();
+        jto = ncais3o.treeTreeView$ExplorerTree();
+        iRC2 = jto.getRowCount();
+        if (iRC2 != 2) {
+            System.out.println("ERROR: Added function, but result is not 2 it is: " + iRC2);
+        }
+        noxx = new Node(jto,"");
+        noxxChild = noxx.getChildren();
+        for (int i = 0;i<noxxChild.length;i++) {
+            System.out.println( i + ": " + (noxxChild[i]));
+        }
+        if (noxxChild[0].equals(noxxChild[1])) {
+            System.out.println("ERROR: Added function has same name as first one.");
+        }
+    */
+        
+        //TODO: press button for language
+        
+        ncais3o.finish();
+        System.out.println("-------------------------------------");
+        
+        // Opening Projects
+        String openingProjectsTitle = Bundle.getString("org.netbeans.modules.project.ui.Bundle", "LBL_Opening_Projects_Progress");
+        try  {
+            // wait at most 60 second until progress dialog dismiss
+            JemmyProperties.setCurrentTimeout("ComponentOperator.WaitStateTimeout", 60000);
+            new NbDialogOperator(openingProjectsTitle).waitClosed();
+        } catch (TimeoutExpiredException e)  {
+            // ignore when progress dialog was closed before we started to wait for it
+        }
+        ProjectSupport.waitScanFinished();
+
+        // Compile
+        build(sProjectName);
+        
+        // Move generated extension (.oxt) away for further testing
+        copyOXT(sProjectFolder,sProjectName);
+        // delete Project
+        delete(sProjectName);
+        // (clean)
+        log("finished");
+    }
+    
+    public void testInstallation() {
+        Properties props = new Properties();
+        String oooPluginNBMPath = null;
+
+        try {
+            InputStream inStream = this.getClass().getClassLoader().getResourceAsStream(
+                "/org/openoffice/extensions/test/Test.properties");
+            System.out.println("Stream " + inStream);
+            props.load(inStream);
+            oooPluginNBMPath = props.getProperty("PluginPath");
+        }
+        catch (java.io.IOException ex) {
+            ex.printStackTrace();
+        }
+        
+        // install the plugin
+        PluginsOperator pop = PluginsOperator.invoke();
+        System.out.println("Plugins opened");
+        pop.selectDownloaded();
+        System.out.println("Downloaded selected");
+        pop.addPlugin(oooPluginNBMPath);
+        System.out.println("Plugin added");
+        pop.install();
+        System.out.println("Install Wizard opened");
+        PluginInstallationWizardOperator piwo = new PluginInstallationWizardOperator("NetBeans IDE Installer");
+        piwo.next();
+        
+        // accept license
+        JCheckBoxOperator op = piwo.getAcceptLicenseCheckbox();
+        if (!op.isSelected()) {
+            op.clickMouse();
+        }
+        System.out.println("License accepted");
+        JButtonOperator installButton = piwo.getButton("Install");
+        try {
+            installButton.waitComponentEnabled();
+        } catch (InterruptedException ex) {
+            Logger.getLogger(TestAllResourcesTest.class.getName()).log(Level.SEVERE, null, ex);
+        }
+        installButton.clickMouse();
+        System.out.println("Installation started");
+
+        piwo.clickOverValidationWarning();
+        
+        JButtonOperator finishButton = piwo.getButton("Finish");
+        finishButton.press();
+        
+        pop.close();
+    }
+    
+    /**
+     *
+     */
+    public void testOptions() {
+        Properties props = new Properties();
+        String office = null;
+        String sdk = null;
+
+        try {
+            InputStream inStream = this.getClass().getClassLoader().getResourceAsStream(
+                "/org/openoffice/extensions/test/Test.properties");
+            System.out.println("Stream " + inStream);
+            props.load(inStream);
+            office = props.getProperty("OfficeInstallation");
+            sdk = props.getProperty("SDKInstallation");
+        }
+        catch (java.io.IOException ex) {
+            ex.printStackTrace();
+        }
+        
+        System.out.println(getWorkDirPath() );
+        OptionsOperator op = OptionsOperator.invoke();
+        System.out.println("Options opened");
+        op.switchToModernView();
+        System.out.println("switched to modern view");
+        op.selectMiscellaneous();
+        System.out.println("selected Miscellaneous");
+        String category = org.netbeans.jellytools.Bundle.getStringTrimmed("org.openoffice.extensions.config.Bundle", "AdvancedOption_DisplayName");
+        System.out.println(category);
+
+        JTabbedPaneOperator tabPane = new JTabbedPaneOperator(op, new ComponentChooser() {
+            public boolean checkComponent(Component arg0) {
+                // only one tabbed pane there
+                if (arg0 instanceof JTabbedPane) {
+                    return true;
+                }
+                return false;
+            }
+
+            public String getDescription() {
+                return "Get the tab pane with OOo plugin settings.";
+            }
+        });
+        // go to the right category
+        tabPane.selectPage(category);
+        
+        Options b = new Options();
+        
+        b.txtOfficeInstallation().setText(office);
+        b.txtSDKInstallation().setText(sdk);
+
+        System.out.println(b.txtOfficeInstallation().getText());
+        System.out.println(b.txtSDKInstallation().getText());
+        
+        op.ok();
+    }
+    
+    /** Resource test of 'OpenOffice Add-On'.
+     *<ul>
+     *TODO: Presupposion: configured OpenOffice.org SDK and OpenOffice.org Application in NetBeans options. (check needs to get implemented)
+     * <li>Open 'File - New Project...'
+     * <li>First Step of New Project wizard: Choose project
+     * <li>Select Category: OpenOffice.org
+     * <li>Select Project: OpenOffice Add-On
+     * <li>Press button: Next
+     * <li>Second step: Define Add-On Name And Location
+     * <li>Press button: Next
+     * <li>Third step: Define User Interface Entry
+     * <li>Press button: Finished
+     * <li>From project context menu select: Build Project
+     * <li>Wait for message in output window: BUILD SUCCESSFUL  (total time: ... seconds)
+     * <li>From project context menu select: Create OXT
+     * <li>Wait for message in output window: BUILD SUCCESSFUL  (total time: ... seconds)
+     * <li>(Copy created .oxt file for further reference)
+     * <li>From project context menu select: Deploy Office Extension
+     * <li>Wait for message in output window: BUILD SUCCESSFUL  (total time: ... seconds)
+     * <li>From project context menu select: Delete Project
+     * <li>Dialog comes up: Delete Project - Are you shure you want to delete project ...?
+     * <li>Check the checkbox: Also Delete Sources Under ... Folder.
+     * <li>Press button: Yes
+     * <li>Wait for completing: Scanning Class Paths
+     *</ul>
+     */
+    public void testAddOn() {
+        System.out.println("Start");
+        
+        String ProjectCategory = Bundle.getStringTrimmed("org.openoffice.extensions.Bundle", "Templates/Project/org-openoffice-extensions");
+        System.out.println(ProjectCategory);
+        String addOnLabel = org.netbeans.jellytools.Bundle.getStringTrimmed("org.openoffice.extensions.projecttemplates.addon.Bundle", "Templates/Project/org-openoffice-extensions/AddOnProject");
+        System.out.println(addOnLabel);
+        
+        NewProjectWizardOperator npwop = NewProjectWizardOperator.invoke();
+        npwop.selectCategory(ProjectCategory);
+        npwop.selectProject(addOnLabel);
+        npwop.next();
+        
+        // Second step of wizard
+        NewAddOnStep2Operator addOnOperator = new NewAddOnStep2Operator();
+        String sProjectName;
+        sProjectName = addOnOperator.txtProjectName().getText();
+        System.out.println(sProjectName);
+        String sProjectFolder = addOnOperator.txtProjectFolder().getText();
+        System.out.println("Project folder: " + sProjectFolder);
+        addOnOperator.next();
+        
+        // TODO: urgent! create own class for this!
+        NewAddOnStep3Operator commandDefinition = new NewAddOnStep3Operator();
+        // TODO: testing, adding of icons etc.
+        commandDefinition.next();
+
+        // Third step of wizard
+        NewAddOnStep3Operator menuStructure = new NewAddOnStep3Operator();
+        // TODO: testing, adding of icons etc.
+        menuStructure.next();
+
+        NewAddOnStep4Operator toolbarStructure = new NewAddOnStep4Operator();
+        toolbarStructure.finish();
+        
+        System.out.println("finished addon");
+        
+        // Opening Projects
+        String openingProjectsTitle = Bundle.getString("org.netbeans.modules.project.ui.Bundle", "LBL_Opening_Projects_Progress");
+        try  {
+            // wait at most 60 second until progress dialog dismiss
+            JemmyProperties.setCurrentTimeout("ComponentOperator.WaitStateTimeout", 60000);
+            new NbDialogOperator(openingProjectsTitle).waitClosed();
+        } catch (TimeoutExpiredException e)  {
+            // ignore when progress dialog was closed before we started to wait for it
+        }
+        ProjectSupport.waitScanFinished();
+        
+        // Compile
+        build(sProjectName);
+        
+        // Move generated extension (.oxt) away for further testing
+        copyOXT(sProjectFolder,sProjectName);
+
+        // delete Project
+        delete(sProjectName);
+        
+        log("finished");
+    }
+    
+    /** Resource test of 'OpenOffice Component'.
+     *<ul>
+     * TODO: Presupposion: configured OpenOffice.org SDK and OpenOffice.org Application in NetBeans options. (check needs to get implemented)
+     * <li>Open 'File - New Project...'
+     * <li>First Step of New Project wizard: Choose project
+     * <li>Select Category: OpenOffice.org
+     * <li>Select Project: OpenOffice Component
+     * <li>Press button: Next
+     * <li>Second step: Name And Location
+     * <li>Press button: Next
+     * <li>Third step: Define Service
+     * <li>Press button: Add Service/Interface ...
+     * <li>Dialog comes up: Select a new Data type
+     * <li>In listbox 'Display Type', select: Services
+     * <li>In treebox select a service
+     * <li>Press button: Ok
+     * <li>Press button: Define New Data Type ...
+     * <li>Dialog comes up: Create New Data Type
+     * <li>In listbox 'Data Type', select: Interface
+     * <li>Press button: Ok
+     * <li>Press button: Finished
+     * <li>From project context menu select: Build Project
+     * <li>Wait for message in output window: BUILD SUCCESSFUL  (total time: ... seconds)
+     * <li>From project context menu select: Create OXT
+     * <li>Wait for message in output window: BUILD SUCCESSFUL  (total time: ... seconds)
+     * <li>(Copy created .oxt file for further reference)
+     * <li>From project context menu select: Deploy Office Extension
+     * <li>Wait for message in output window: BUILD SUCCESSFUL  (total time: ... seconds)
+     * <li>From project context menu select: Delete Project
+     * <li>Dialog comes up: Delete Project - Are you shure you want to delete project ...?
+     * <li>Check the checkbox: Also Delete Sources Under ... Folder.
+     * <li>Press button: Yes
+     * <li>Wait for completing: Scanning Class Paths
+     *</ul>
+     */
+    public void testComponent() {
+        String ProjectCategory = Bundle.getStringTrimmed("org.openoffice.extensions.Bundle", "Templates/Project/org-openoffice-extensions");
+        System.out.println(ProjectCategory);
+        String CalcLabel = org.netbeans.jellytools.Bundle.getStringTrimmed("org.openoffice.extensions.projecttemplates.component.Bundle","Templates/Project/org-openoffice-extensions/ComponentProject");
+        System.out.println(CalcLabel);
+        
+        NewProjectWizardOperator npwop = NewProjectWizardOperator.invoke();
+        npwop.selectCategory(ProjectCategory);
+        npwop.selectProject(CalcLabel);
+        npwop.next();
+        
+        // Second step of wizard
+        NewCalcAddInStep2Operator ncais2o = new NewCalcAddInStep2Operator();
+        System.out.println("Title of 2. dialog: " + ncais2o.getTitle());
+        String sProjectName = ncais2o.txtProjectName().getText();
+        System.out.println("Project name: " + sProjectName);
+        String sProjectFolder = ncais2o.txtProjectFolder().getText();
+        System.out.println("Project folder: " + sProjectFolder);
+        ncais2o.next();
+        
+        // Third step of wizard
+        NewComponentStep3Operator ncais3o = new NewComponentStep3Operator();
+        if (ncais3o.lblLast().getText().length() > 0){
+            System.out.println(ncais3o.lblLast().getText());
+        } else {
+            System.out.println("ERROR: Message is missing about missing services...");
+        }
+        if (ncais3o.btFinish().isEnabled()) {
+            System.out.println("ERROR: Finish button is enabled, but no service is defined.");
+        }
+        ncais3o.btAddServiceInterface().push();
+        
+        SelectANewDataType sands = new SelectANewDataType("Select a new Data type");
+        sands.cboJComboBox().selectItem("Services");
+        //JTreeOperator
+        sands.treeTreeView$ExplorerTree().doExpandRow(0);
+        sands.treeTreeView$ExplorerTree().doExpandRow(1);
+        sands.treeTreeView$ExplorerTree().doExpandRow(2);
+        sands.treeTreeView$ExplorerTree().doExpandRow(3);
+        sands.treeTreeView$ExplorerTree().waitExpanded(3);
+        sands.treeTreeView$ExplorerTree().selectRow(4);
+        System.out.println("1: " + sands.treeTreeView$ExplorerTree().getPathForRow(4).toString());
+        sands.btOK().push();
+        
+        ncais3o = new NewComponentStep3Operator();
+        JTreeOperator jto = ncais3o.treeTreeView$ExplorerTree2();
+        int iRC = jto.getRowCount();
+        if (iRC != 2) {
+            System.out.println("ERROR: Expected just one defined service and the root node, but there are: " + iRC);
+        }
+        Node noxx = new Node(jto,"");
+        System.out.println(noxx.getText());
+        String [] noxxChild = noxx.getChildren();
+        System.out.println("Added service: " + noxxChild[0]);
+        if (ncais3o.lblLast().getText().length() > 0){
+            System.out.println("ERROR: Errormessage should disappear: " + ncais3o.lblLast().getText());
+        }
+        if (! ncais3o.btFinish().isEnabled()) {
+            System.out.println("ERROR: Finish button should be enabled, because a service is defined.");
+        }
+        
+        ncais3o.btAddServiceInterface().push();
+        sands = new SelectANewDataType("Select a new Data type");
+        sands.cboJComboBox().selectItem("Interfaces");
+        //JTreeOperator
+        sands.treeTreeView$ExplorerTree().doExpandRow(0);
+        sands.treeTreeView$ExplorerTree().doExpandRow(1);
+        sands.treeTreeView$ExplorerTree().doExpandRow(2);
+        sands.treeTreeView$ExplorerTree().doExpandRow(3);
+        sands.treeTreeView$ExplorerTree().selectRow(4);
+        System.out.println("3: " + sands.treeTreeView$ExplorerTree().getPathForRow(4).toString());
+        sands.btOK().push();
+        
+        ncais3o = new NewComponentStep3Operator();
+        jto = ncais3o.treeTreeView$ExplorerTree2();
+        int iRC2 = jto.getRowCount();
+        if (iRC2 != 3) {
+            System.out.println("ERROR: Expected root node, service and interface, but there are: " + iRC2);
+        }
+        noxx = new Node(jto,"");
+        System.out.println(noxx.getText());
+        noxxChild = noxx.getChildren();
+        for (int i = 0;i<noxxChild.length;i++) {
+            System.out.println( i + ": " + (noxxChild[i]));
+        }
+        
+        // Define own data types
+        ncais3o = new NewComponentStep3Operator();
+        jto = ncais3o.treeTreeView$ExplorerTree();
+        iRC2 = jto.getRowCount();
+        if (iRC2 != 6) {
+            System.out.println("ERROR: unexpected Data Type count should be 6 but is: " + iRC2);
+        }
+        noxx = new Node(jto,"");
+        noxxChild = noxx.getChildren();
+        for (int i = noxxChild.length-1;i>0;i--) {
+            System.out.println( i + ": Data Type: " + (noxxChild[i]));
+            jto.selectRow(i);
+            noxx = new Node(jto,jto.getSelectionPath());
+            ncais3o.defineNewDataType();
+            CreateNewDataType cndt = new CreateNewDataType();
+            cndt.getSelectedDataType();
+            if (cndt.cboDataType().getItemCount() == 1) {
+                System.out.println("ERROR: In dialog is just on eitem available, should be 6.");
+            }
+            JTreeOperator jt;
+            switch (i){
+            case 5: // PolyStruct
+                jt = cndt.treeTreeView$ExplorerTree();
+                System.out.println(jt.getRowCount());
+                cndt.addTemplate();
+                cndt.addMember();
+                cndt.delete();
+                System.out.println(jt.getRowCount());
+                break;
+            case 4: // Exception
+                // nothing to do here
+                break;
+            case 3: // Struct
+                jt = cndt.treeTreeView$ExplorerTree();
+                System.out.println(jt.getRowCount());
+                cndt.addType();
+                cndt.delete();
+                System.out.println(jt.getRowCount());
+                break;
+            case 2: // Enumeration
+                jt = cndt.treeTreeView$ExplorerTree();
+                System.out.println(jt.getRowCount());
+                cndt.addEnum();
+                cndt.delete();
+                System.out.println(jt.getRowCount());
+                break;
+            case 1: // Interface
+                jt = cndt.treeTreeView$ExplorerTree();
+                System.out.println(jt.getRowCount());
+                cndt.newFunction();
+                cndt.newParameter();
+                cndt.delete();
+                System.out.println(jt.getRowCount());
+                break;
+            case 0: // Service
+                JTableOperator jtbo = cndt.tabPropertiesTable();
+                break;
+            }
+            cndt.ok();
+        }
+        noxx = new Node(jto,"");
+        noxxChild = noxx.getChildren();
+        for (int i = 0;i<noxxChild.length;i++) {
+            System.out.println( i + ": " + (noxxChild[i]));
+        }
+        
+        ncais3o.finish();
+        System.out.println("finished addin");
+        // Opening Projects
+        String openingProjectsTitle = Bundle.getString("org.netbeans.modules.project.ui.Bundle", "LBL_Opening_Projects_Progress");
+        try  {
+            // wait at most 60 second until progress dialog dismiss
+            JemmyProperties.setCurrentTimeout("ComponentOperator.WaitStateTimeout", 60000);
+            new NbDialogOperator(openingProjectsTitle).waitClosed();
+        } catch (TimeoutExpiredException e)  {
+            // ignore when progress dialog was closed before we started to wait for it
+        }
+        ProjectSupport.waitScanFinished();
+        
+        // Compile
+        build(sProjectName);
+        
+        // Move generated extension (.oxt) away for further testing
+        copyOXT(sProjectFolder,sProjectName);
+        
+        // delete Project
+        delete(sProjectName);
+        
+        log("finished");
+    }
+    
+    private void build(String sProjectName) {
+        // Compile
+        ProjectsTabOperator pto = new ProjectsTabOperator();
+        System.out.println("context menu open " + sProjectName);
+        ProjectRootNode prn = pto.getProjectRootNode(sProjectName);
+        System.out.println("got project root node " + prn.toString());
+        
+        //   MainWindowOperator.StatusTextTracer stt = MainWindowOperator.getDefault().getStatusTextTracer();
+        //  stt.start();
+        // "Run Project"
+        //        new Action(null, "Build Project").perform(prn);
+        // Deploy Office Extension
+        // (uno-deploy)
+        
+        new Action(null, "Create OXT").perform(prn);
+        //        OutputTabOperator oto = new OutputTabOperator(sProjectName + " (jar)");
+        OutputTabOperator oto = new OutputTabOperator(sProjectName + " (uno-package)");
+        //        oto.getTimeouts().setTimeout("ComponentOperator.WaitStateTimeout", 180000);
+        System.out.println("Output Tab Name: "+oto.getName());
+        try {
+            oto.waitText("BUILD SUCCESSFUL");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        /*long timeout = JemmyProperties.getCurrentTimeout("ComponentOperator.WaitComponentTimeout");
+        JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", 3000);
+        try {
+            for (int i=0; i<10; i++) {
+                OutputTabOperator output = new OutputTabOperator("",i);
+                log("Output"+i+".log",output.getName()+"\n-------------\n\n"+output.getText());
+            }
+        } catch (TimeoutExpiredException e)  {}
+        JemmyProperties.setCurrentTimeout("ComponentOperator.WaitComponentTimeout", timeout);
+         */
+        //   stt.waitText("finished building JEMMY",true);
+        System.out.println("Output Tab content: "+oto.getText());
+        System.out.println("Output Tab end -------------------------------------------- ");
+        
+        System.out.println("WorkDir: "+getWorkDirPath());
+        // der ist ok 'Finished building Addin (jar).
+        try {
+            //            MainWindowOperator.getDefault().waitStatusText("Finished building "+sProjectName+" (jar).");
+            //MainWindowOperator.getDefault().waitStatusText("Finished building "+sProjectName+" (add-package).");
+            MainWindowOperator.getDefault().waitStatusText("Finished building "+sProjectName+" (uno-package).");
+        } catch (Exception e) {
+            System.out.println("Not SEEN: " + "Finished building "+sProjectName+" (uno-package).");
+            //e.printStackTrace();
+        }
+        System.out.println("status Line Text: "+MainWindowOperator.getDefault().getStatusText());
+        //  getLog("BUILD SUCCESSFUL").print("");
+    }
+    
+    private void copyOXT(String sProjectFolder, String sProjectName) {
+        // Move generated extension (.oxt) away for further testing
+        File fOxt = new File(sProjectFolder + File.separator + "dist" + File.separator + sProjectName + ".oxt");
+        if (fOxt.exists()) {
+            java.io.FileReader in = null;
+            java.io.FileWriter out = null;
+            try {
+                File outputFile = new java.io.File(fUserFolder + File.separator + sProjectName + ".oxt");
+                in = new java.io.FileReader(fOxt);
+                out = new java.io.FileWriter(outputFile);
+                int c;
+                while ((c = in.read()) != -1)
+                    out.write(c);
+                in.close();
+                out.close();
+            } catch (IOException ex) {
+                System.out.println(ex.getMessage());
+            }
+        } else {
+            System.out.println("ERROR: extension is not generated: " + fOxt.toString());
+        }
+        
+    }
+    
+    private void delete(String sProjectName) {
+        // delete Project
+        ProjectsTabOperator pto = ProjectsTabOperator.invoke();
+        ProjectRootNode prn = pto.getProjectRootNode(sProjectName);
+        Integer i;
+        DeleteAction deleteAction = new DeleteAction();
+        deleteAction.perform(prn);
+        NbDialogOperator nbdo = new NbDialogOperator("Delete Project");
+        JCheckBoxOperator jcb = new JCheckBoxOperator(nbdo);
+        System.out.println("Checkbox Name: "+jcb.getText());
+        System.out.println("Is checkbox selected?: "+jcb.isSelected());
+        jcb.setSelected(true);
+        System.out.println(jcb.isSelected());
+        nbdo.yes();
+        nbdo.waitClosed();
+        
+        ProjectSupport.waitScanFinished();
+    }
+    
+}

Added: incubator/ooo/devtools/netbeansintegration/test/readme.txt
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/readme.txt?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/readme.txt (added)
+++ incubator/ooo/devtools/netbeansintegration/test/readme.txt Fri Jan 27 01:29:33 2012
@@ -0,0 +1,21 @@
+Stuff to do before tests can be build and executed
+
+This is about qa-functional tests - unit tests normally work without problems.
+
+- install xtest, junit, jemmy and jellytools as plugins
+  to be on the safe side: all of those you can get, look in beta-update center;
+  caution! In NetBeans 6.1 tests fail with some obscure problem when 
+  plugins are installed in shared layer: install as normal user
+
+- edit nbproject/project.properties
+  uncomment everything needed for building and executing the tests:
+  can be tricky, what is needed depends on the NetBeans version;
+  consider restarting NetBeans to activate everything
+
+- edit test/build.xml
+  point to the right directory for xtest and netbeans user directory
+
+- edit test/qa-functional/src/org/openoffice/extensions/test/Test.properties
+  point to the OpenOffice.org and OpenOffice.org SDK installation directories
+
+- happy testing  
\ No newline at end of file

Added: incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/ConfigSuite.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/ConfigSuite.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/ConfigSuite.java (added)
+++ incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/ConfigSuite.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,39 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.openoffice.extensions.config;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ *
+ * @author sg128468
+ */
+public class ConfigSuite extends TestCase {
+    
+    public ConfigSuite(String testName) {
+        super(testName);
+    }            
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite("ConfigSuite");
+        suite.addTest(new TestSuite(org.openoffice.extensions.config.ConfigurationSettingsTest.class));
+        suite.addTest(new TestSuite(org.openoffice.extensions.config.ConfigurationAdvancedOptionTest.class));
+        return suite;
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+}

Added: incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/ConfigurationAdvancedOptionTest.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/ConfigurationAdvancedOptionTest.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/ConfigurationAdvancedOptionTest.java (added)
+++ incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/ConfigurationAdvancedOptionTest.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,68 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.openoffice.extensions.config;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import org.netbeans.spi.options.OptionsPanelController;
+
+/**
+ *
+ * @author sg128468
+ */
+public class ConfigurationAdvancedOptionTest extends TestCase {
+    
+    public ConfigurationAdvancedOptionTest(String testName) {
+        super(testName);
+    }
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite(ConfigurationAdvancedOptionTest.class);
+        return suite;
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    /**
+     * Test of getDisplayName method, of class ConfigurationAdvancedOption.
+     */
+    public void testGetDisplayName() {
+        System.out.println("getDisplayName");
+        ConfigurationAdvancedOption instance = new ConfigurationAdvancedOption();
+        String result = instance.getDisplayName();
+        assertNotNull(result);
+    }
+
+    /**
+     * Test of getTooltip method, of class ConfigurationAdvancedOption.
+     */
+    public void testGetTooltip() {
+        System.out.println("getTooltip");
+        ConfigurationAdvancedOption instance = new ConfigurationAdvancedOption();
+        String result = instance.getTooltip();
+        assertNotNull(result);
+    }
+
+    /**
+     * Test of create method, of class ConfigurationAdvancedOption.
+     */
+    public void testCreate() {
+        System.out.println("create");
+        ConfigurationAdvancedOption instance = new ConfigurationAdvancedOption();
+        OptionsPanelController result = instance.create();
+        assertNotNull(result);
+    }
+
+}

Added: incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/ConfigurationSettingsTest.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/ConfigurationSettingsTest.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/ConfigurationSettingsTest.java (added)
+++ incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/ConfigurationSettingsTest.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,180 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.openoffice.extensions.config;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.Properties;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ *
+ * @author sg128468
+ */
+public class ConfigurationSettingsTest extends TestCase {
+    
+    public ConfigurationSettingsTest(String testName) {
+        super(testName);
+    }
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite(ConfigurationSettingsTest.class);
+        return suite;
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    /**
+     * Test of getSettings method, of class ConfigurationSettings.
+     */
+    public void testGetSettings() {
+        System.out.println("getSettings");
+        ConfigurationSettings instance = ConfigurationSettings.getSettings();
+        assertNotNull(instance);
+        String office = instance.getValue(ConfigurationSettings.KEY_OFFICE_INSTALLATION);
+        String sdk = instance.getValue(ConfigurationSettings.KEY_SDK_INSTALLATION);
+        assertEquals("", sdk);
+        assertEquals("", office);
+    }
+
+    /**
+     * Test of store method, of class ConfigurationSettings.
+     */
+    public void testStore() {
+        System.out.println("store");
+        ConfigurationSettings instance = ConfigurationSettings.getSettings();
+        instance.store();
+        // how to test?
+        
+    }
+
+    /**
+     * Test of load method, of class ConfigurationSettings.
+     */
+    public void testLoad() {
+        System.out.println("load");
+        ConfigurationSettings instance = ConfigurationSettings.getSettings();
+        instance.load();
+        // how to test?
+    }
+
+    /**
+     * Test of getValue method, of class ConfigurationSettings.
+     */
+    public void testGetValue() {
+        System.out.println("getValue");
+        String key = "OneKey";
+        ConfigurationSettings instance = ConfigurationSettings.getSettings();
+        String result = instance.getValue(key);
+        assertNull(result);
+        String expResult = "A Value";
+        instance.setValue(key, "A Value");
+        result = instance.getValue(key);
+        assertEquals(expResult, result);
+    }
+
+    /**
+     * Test of setValue method, of class ConfigurationSettings.
+     */
+    public void testSetValue() {
+        System.out.println("setValue");
+        String key = "key";
+        String value = "value";
+        ConfigurationSettings instance = ConfigurationSettings.getSettings();
+        instance.setValue(key, value);
+    }
+
+    /**
+     * Test of getLibraryName method, of class ConfigurationSettings.
+     */
+    public void testGetLibraryName() {
+        System.out.println("getLibraryName");
+        ConfigurationSettings instance = ConfigurationSettings.getSettings();
+        Properties props = TestProperties.getTestProperties();
+        String office = props.getProperty("OfficeInstallation");
+        String sdk = props.getProperty("SDKInstallation");
+        instance.setValue(ConfigurationSettings.KEY_OFFICE_INSTALLATION, office);
+        instance.setValue(ConfigurationSettings.KEY_SDK_INSTALLATION, sdk);
+        String result = instance.getLibraryName();
+        assertTrue(result.length() > 0);
+    }
+
+    /**
+     * Test of getUser method, of class ConfigurationSettings.
+     */
+    public void testGetUser() {
+        System.out.println("getUser");
+        ConfigurationSettings instance = ConfigurationSettings.getSettings();
+        String expResult = System.getProperty ("user.name");
+        String result = instance.getUser();
+        assertEquals(expResult, result);
+    }
+
+    /**
+     * Test of getTimeStamp method, of class ConfigurationSettings.
+     */
+    public void testGetTimeStamp() {
+        System.out.println("getTimeStamp");
+        String result = ConfigurationSettings.getTimeStamp();
+        assertTrue(result.length() > 0);
+    }
+
+    /**
+     * Test of registerPropertyChangeListener method, of class ConfigurationSettings.
+     */
+    public void testRegisterPropertyChangeListener() {
+        System.out.println("registerPropertyChangeListener");
+        String propertyName = "prop";
+        PropertyChangeListener listener = new PropertyChangeListener() {
+            String val;
+            public void propertyChange(PropertyChangeEvent evt) {
+                val = evt.getNewValue().toString();
+            }
+            @Override
+            public String toString() {
+                return val;
+            }
+        };
+        ConfigurationSettings instance = ConfigurationSettings.getSettings();
+        instance.registerPropertyChangeListener(propertyName, listener);
+        instance.setValue(propertyName, "a value");
+        assertEquals("a value", listener.toString());
+    }
+
+    /**
+     * Test of removePropertyChangeListener method, of class ConfigurationSettings.
+     */
+    public void testRemovePropertyChangeListener() {
+        System.out.println("removePropertyChangeListener");
+        String propertyName = "prop";
+        PropertyChangeListener listener = new PropertyChangeListener() {
+            String val;
+            public void propertyChange(PropertyChangeEvent evt) {
+                val = evt.getNewValue().toString();
+            }
+            @Override
+            public String toString() {
+                return val;
+            }
+        };
+        ConfigurationSettings instance = ConfigurationSettings.getSettings();
+        instance.registerPropertyChangeListener(propertyName, listener);
+        instance.removePropertyChangeListener(listener);
+        instance.setValue(propertyName, "a value");
+        assertNull(listener.toString());
+    }
+
+}

Added: incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/Test.properties
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/Test.properties?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/Test.properties (added)
+++ incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/Test.properties Fri Jan 27 01:29:33 2012
@@ -0,0 +1,4 @@
+# Sample ResourceBundle properties file
+OfficeInstallation=/export/home/sg128468/office/jsc21/opt/staroffice9
+SDKInstallation=/export/home/sg128468/office/jsc21/opt/openoffice.org/basis3.0/sdk
+PluginPath=/export/home/sg128468/tmp/api/oonetbeansintegration/ooextensions/build/org-openoffice-extensions.nbm

Added: incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/TestProperties.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/TestProperties.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/TestProperties.java (added)
+++ incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/TestProperties.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,37 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.openoffice.extensions.config;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ *
+ * @author sg128468
+ */
+public class TestProperties {
+
+    public static Properties getTestProperties() {
+        Properties props = new Properties();
+        TestProperties testProps = new TestProperties();
+        InputStream inStream = testProps.getClass().getClassLoader().getResourceAsStream(
+            "org/openoffice/extensions/config/Test.properties");
+        System.out.println("Stream " + inStream);
+        try {
+            props.load(inStream);
+            if (inStream != null) {
+                inStream.close();
+            }
+        } catch (IOException ex) {
+            Logger.getLogger(TestProperties.class.getName()).log(Level.SEVERE, null, ex);
+        }
+        return props;
+    }
+    
+}

Added: incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/IxLocatorTest.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/IxLocatorTest.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/IxLocatorTest.java (added)
+++ incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/IxLocatorTest.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,70 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.openoffice.extensions.config.office;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ *
+ * @author sg128468
+ */
+public class IxLocatorTest extends TestCase {
+    
+    public IxLocatorTest(String testName) {
+        super(testName);
+    }
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite(IxLocatorTest.class);
+        return suite;
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    /**
+     * Test of locateOfficePaths method, of class IxLocator.
+     */
+    public void testLocateOfficePaths() {
+        System.out.println("locateOfficePaths");
+        IxLocator instance = null;
+        instance.locateOfficePaths();
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of locateOffice method, of class IxLocator.
+     */
+    public void testLocateOffice() {
+        System.out.println("locateOffice");
+        IxLocator instance = null;
+        instance.locateOffice();
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of locateSDK method, of class IxLocator.
+     */
+    public void testLocateSDK() {
+        System.out.println("locateSDK");
+        IxLocator instance = null;
+        instance.locateSDK();
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+}

Added: incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/MacLocatorTest.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/MacLocatorTest.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/MacLocatorTest.java (added)
+++ incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/MacLocatorTest.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,70 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.openoffice.extensions.config.office;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ *
+ * @author sg128468
+ */
+public class MacLocatorTest extends TestCase {
+    
+    public MacLocatorTest(String testName) {
+        super(testName);
+    }
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite(MacLocatorTest.class);
+        return suite;
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    /**
+     * Test of locateOfficePaths method, of class MacLocator.
+     */
+    public void testLocateOfficePaths() {
+        System.out.println("locateOfficePaths");
+        MacLocator instance = null;
+        instance.locateOfficePaths();
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of locateOffice method, of class MacLocator.
+     */
+    public void testLocateOffice() {
+        System.out.println("locateOffice");
+        MacLocator instance = null;
+        instance.locateOffice();
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of locateSDK method, of class MacLocator.
+     */
+    public void testLocateSDK() {
+        System.out.println("locateSDK");
+        MacLocator instance = null;
+        instance.locateSDK();
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+}

Added: incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/OfficeSuite.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/OfficeSuite.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/OfficeSuite.java (added)
+++ incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/OfficeSuite.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,43 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.openoffice.extensions.config.office;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ *
+ * @author sg128468
+ */
+public class OfficeSuite extends TestCase {
+    
+    public OfficeSuite(String testName) {
+        super(testName);
+    }            
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite("OfficeSuite");
+        suite.addTest(new TestSuite(org.openoffice.extensions.config.office.MacLocatorTest.class));
+        suite.addTest(new TestSuite(org.openoffice.extensions.config.office.IxLocatorTest.class));
+        suite.addTest(new TestSuite(org.openoffice.extensions.config.office.PlatformInfoTest.class));
+        suite.addTest(new TestSuite(org.openoffice.extensions.config.office.PlatformLocatorTest.class));
+        suite.addTest(new TestSuite(org.openoffice.extensions.config.office.OpenOfficeLocationTest.class));
+        suite.addTest(new TestSuite(org.openoffice.extensions.config.office.WinLocatorTest.class));
+        return suite;
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+}

Added: incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/OpenOfficeLocationTest.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/OpenOfficeLocationTest.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/OpenOfficeLocationTest.java (added)
+++ incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/OpenOfficeLocationTest.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,256 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.openoffice.extensions.config.office;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ *
+ * @author sg128468
+ */
+public class OpenOfficeLocationTest extends TestCase {
+    
+    public OpenOfficeLocationTest(String testName) {
+        super(testName);
+    }
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite(OpenOfficeLocationTest.class);
+        return suite;
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    /**
+     * Test of getOpenOfficeLocation method, of class OpenOfficeLocation.
+     */
+    public void testGetOpenOfficeLocation_0args() {
+        System.out.println("getOpenOfficeLocation");
+        OpenOfficeLocation expResult = null;
+        OpenOfficeLocation result = OpenOfficeLocation.getOpenOfficeLocation();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getOpenOfficeLocation method, of class OpenOfficeLocation.
+     */
+    public void testGetOpenOfficeLocation_String_String() {
+        System.out.println("getOpenOfficeLocation");
+        String office = "";
+        String sdk = "";
+        OpenOfficeLocation expResult = null;
+        OpenOfficeLocation result = OpenOfficeLocation.getOpenOfficeLocation(office, sdk, false);
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of clearOpenOfficeLocation method, of class OpenOfficeLocation.
+     */
+    public void testClearOpenOfficeLocation() {
+        System.out.println("clearOpenOfficeLocation");
+        OpenOfficeLocation.clearOpenOfficeLocation();
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getBootstrapPath method, of class OpenOfficeLocation.
+     */
+    public void testGetBootstrapPath() {
+        System.out.println("getBootstrapPath");
+        OpenOfficeLocation instance = null;
+        String expResult = "";
+        String result = instance.getBootstrapPath();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getOfficePath method, of class OpenOfficeLocation.
+     */
+    public void testGetOfficePath() {
+        System.out.println("getOfficePath");
+        OpenOfficeLocation instance = null;
+        String expResult = "";
+        String result = instance.getOfficePath();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getSdkPath method, of class OpenOfficeLocation.
+     */
+    public void testGetSdkPath() {
+        System.out.println("getSdkPath");
+        OpenOfficeLocation instance = null;
+        String expResult = "";
+        String result = instance.getSdkPath();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getUnorcPath method, of class OpenOfficeLocation.
+     */
+    public void testGetUnorcPath() {
+        System.out.println("getUnorcPath");
+        OpenOfficeLocation instance = null;
+        String expResult = "";
+        String result = instance.getUnorcPath();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getOfficeVersion method, of class OpenOfficeLocation.
+     */
+    public void testGetOfficeVersion() {
+        System.out.println("getOfficeVersion");
+        OpenOfficeLocation instance = null;
+        String expResult = "";
+        String result = instance.getOfficeVersion();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getFullPathForJar method, of class OpenOfficeLocation.
+     */
+    public void testGetFullPathForJar() {
+        System.out.println("getFullPathForJar");
+        String jarName = "";
+        OpenOfficeLocation instance = null;
+        String expResult = "";
+        String result = instance.getFullPathForJar(jarName);
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getUnoTypesPath method, of class OpenOfficeLocation.
+     */
+    public void testGetUnoTypesPath() {
+        System.out.println("getUnoTypesPath");
+        OpenOfficeLocation instance = null;
+        String[] expResult = null;
+        String[] result = instance.getUnoTypesPath();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getPathVariable method, of class OpenOfficeLocation.
+     */
+    public void testGetPathVariable() {
+        System.out.println("getPathVariable");
+        OpenOfficeLocation instance = null;
+        String expResult = "";
+        String result = instance.getPathVariable();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of validateOffice method, of class OpenOfficeLocation.
+     */
+    public void testValidateOffice() {
+        System.out.println("validateOffice");
+        String officePath = "";
+        boolean expResult = false;
+        boolean result = OpenOfficeLocation.validateOffice(officePath);
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of validateSDK method, of class OpenOfficeLocation.
+     */
+    public void testValidateSDK() {
+        System.out.println("validateSDK");
+        String sdkPath = "";
+        boolean expResult = false;
+        boolean result = OpenOfficeLocation.validateSDK(sdkPath);
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of validate method, of class OpenOfficeLocation.
+     */
+    public void testValidate() {
+        System.out.println("validate");
+        OpenOfficeLocation instance = null;
+        boolean expResult = false;
+        boolean result = instance.validate();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getSdk method, of class OpenOfficeLocation.
+     */
+    public void testGetSdk() {
+        System.out.println("getSdk");
+        String officePath = "";
+        String expResult = "";
+        String result = OpenOfficeLocation.getSdk(officePath);
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of isThreeLayerOffice method, of class OpenOfficeLocation.
+     */
+    public void testIsThreeLayerOffice_0args() {
+        System.out.println("isThreeLayerOffice");
+        OpenOfficeLocation instance = null;
+        boolean expResult = false;
+        boolean result = instance.isThreeLayerOffice();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of isThreeLayerOffice method, of class OpenOfficeLocation.
+     */
+    public void testIsThreeLayerOffice_String() {
+        System.out.println("isThreeLayerOffice");
+        String officePath = "";
+        boolean expResult = false;
+        boolean result = OpenOfficeLocation.isThreeLayerOffice(officePath);
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+}

Added: incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/PlatformInfoTest.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/PlatformInfoTest.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/PlatformInfoTest.java (added)
+++ incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/PlatformInfoTest.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,145 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.openoffice.extensions.config.office;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ *
+ * @author sg128468
+ */
+public class PlatformInfoTest extends TestCase {
+    
+    public PlatformInfoTest(String testName) {
+        super(testName);
+    }
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite(PlatformInfoTest.class);
+        return suite;
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    /**
+     * Test of getPlatformBinDir method, of class PlatformInfo.
+     */
+    public void testGetPlatformBinDir() {
+        System.out.println("getPlatformBinDir");
+        String expResult = "";
+        String result = PlatformInfo.getPlatformBinDir();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getPlatformPackageDir method, of class PlatformInfo.
+     */
+    public void testGetPlatformPackageDir() {
+        System.out.println("getPlatformPackageDir");
+        String expResult = "";
+        String result = PlatformInfo.getPlatformPackageDir();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of isWindows method, of class PlatformInfo.
+     */
+    public void testIsWindows() {
+        System.out.println("isWindows");
+        boolean expResult = false;
+        boolean result = PlatformInfo.isWindows();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of isMacOS method, of class PlatformInfo.
+     */
+    public void testIsMacOS() {
+        System.out.println("isMacOS");
+        boolean expResult = false;
+        boolean result = PlatformInfo.isMacOS();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getOfficeProgramDir method, of class PlatformInfo.
+     */
+    public void testGetOfficeProgramDir() {
+        System.out.println("getOfficeProgramDir");
+        String expResult = "";
+        String result = PlatformInfo.getOfficeProgramDir();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getBootstrapIni method, of class PlatformInfo.
+     */
+    public void testGetBootstrapIni() {
+        System.out.println("getBootstrapIni");
+        String expResult = "";
+        String result = PlatformInfo.getBootstrapIni();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getUnorcName method, of class PlatformInfo.
+     */
+    public void testGetUnorcName() {
+        System.out.println("getUnorcName");
+        String expResult = "";
+        String result = PlatformInfo.getUnorcName();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getSDKPostfix method, of class PlatformInfo.
+     */
+    public void testGetSDKPostfix() {
+        System.out.println("getSDKPostfix");
+        String expResult = "";
+        String result = PlatformInfo.getSDKPostfix();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getPostfix method, of class PlatformInfo.
+     */
+    public void testGetPostfix() {
+        System.out.println("getPostfix");
+        String expResult = "";
+        String result = PlatformInfo.getPostfix();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+}

Added: incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/PlatformLocatorTest.java
URL: http://svn.apache.org/viewvc/incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/PlatformLocatorTest.java?rev=1236486&view=auto
==============================================================================
--- incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/PlatformLocatorTest.java (added)
+++ incubator/ooo/devtools/netbeansintegration/test/unit/src/org/openoffice/extensions/config/office/PlatformLocatorTest.java Fri Jan 27 01:29:33 2012
@@ -0,0 +1,162 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.openoffice.extensions.config.office;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ *
+ * @author sg128468
+ */
+public class PlatformLocatorTest extends TestCase {
+    
+    public PlatformLocatorTest(String testName) {
+        super(testName);
+    }
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite(PlatformLocatorTest.class);
+        return suite;
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    /**
+     * Test of locateOffice method, of class PlatformLocator.
+     */
+    public void testLocateOffice() {
+        System.out.println("locateOffice");
+        PlatformLocator instance = null;
+        instance.locateOffice();
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of locateSDK method, of class PlatformLocator.
+     */
+    public void testLocateSDK() {
+        System.out.println("locateSDK");
+        PlatformLocator instance = null;
+        instance.locateSDK();
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of locateOfficePaths method, of class PlatformLocator.
+     */
+    public void testLocateOfficePaths() {
+        System.out.println("locateOfficePaths");
+        PlatformLocator instance = null;
+        instance.locateOfficePaths();
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getFullPathForJar method, of class PlatformLocator.
+     */
+    public void testGetFullPathForJar() {
+        System.out.println("getFullPathForJar");
+        String jarName = "";
+        PlatformLocator instance = null;
+        String expResult = "";
+        String result = instance.getFullPathForJar(jarName);
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getOfficePath method, of class PlatformLocator.
+     */
+    public void testGetOfficePath() {
+        System.out.println("getOfficePath");
+        PlatformLocator instance = null;
+        String expResult = "";
+        String result = instance.getOfficePath();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getSdkPath method, of class PlatformLocator.
+     */
+    public void testGetSdkPath() {
+        System.out.println("getSdkPath");
+        PlatformLocator instance = null;
+        String expResult = "";
+        String result = instance.getSdkPath();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getPathVariable method, of class PlatformLocator.
+     */
+    public void testGetPathVariable() {
+        System.out.println("getPathVariable");
+        PlatformLocator instance = null;
+        String expResult = "";
+        String result = instance.getPathVariable();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getTypesPath method, of class PlatformLocator.
+     */
+    public void testGetTypesPath() {
+        System.out.println("getTypesPath");
+        PlatformLocator instance = null;
+        String[] expResult = null;
+        String[] result = instance.getTypesPath();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of isThreeLayerOffice method, of class PlatformLocator.
+     */
+    public void testIsThreeLayerOffice() {
+        System.out.println("isThreeLayerOffice");
+        PlatformLocator instance = null;
+        boolean expResult = false;
+        boolean result = instance.isThreeLayerOffice();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+    /**
+     * Test of getUnorcPath method, of class PlatformLocator.
+     */
+    public void testGetUnorcPath() {
+        System.out.println("getUnorcPath");
+        PlatformLocator instance = null;
+        String expResult = "";
+        String result = instance.getUnorcPath();
+        assertEquals(expResult, result);
+        // TODO review the generated test code and remove the default call to fail.
+        fail("The test case is a prototype.");
+    }
+
+}