diff options
author | RĂ¼diger Timm <rt@openoffice.org> | 2003-09-08 12:02:14 +0000 |
---|---|---|
committer | RĂ¼diger Timm <rt@openoffice.org> | 2003-09-08 12:02:14 +0000 |
commit | ad5c96195e0441344b44ac200610c00cc19ab2f9 (patch) | |
tree | 906b36d8594b36aa736413fcd4a895b3de42e461 /qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java | |
parent | 4dbd04abedd5d021743dd7f12c69126cb06b251f (diff) |
INTEGRATION: CWS qadev11 (1.3.14); FILE MERGED
2003/09/03 15:29:49 sw 1.3.14.1: #112049#
Diffstat (limited to 'qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java')
-rw-r--r-- | qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java | 178 |
1 files changed, 108 insertions, 70 deletions
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java index eb552b026e53..0d4ddacbcf64 100644 --- a/qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java +++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java @@ -2,9 +2,9 @@ * * $RCSfile: AccessibleTabPage.java,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change:$Date: 2003-05-27 13:59:57 $ + * last change:$Date: 2003-09-08 13:02:14 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -58,39 +58,42 @@ * * ************************************************************************/ - package mod._toolkit; +import java.awt.Robot; +import java.awt.event.InputEvent; import java.io.PrintWriter; -import com.sun.star.lang.XMultiServiceFactory; + +import lib.StatusException; +import lib.TestCase; +import lib.TestEnvironment; +import lib.TestParameters; +import util.AccessibilityTools; +import util.DesktopTools; +import util.SOfficeFactory; + +import com.sun.star.accessibility.AccessibleRole; +import com.sun.star.accessibility.XAccessible; +import com.sun.star.accessibility.XAccessibleAction; +import com.sun.star.accessibility.XAccessibleComponent; +import com.sun.star.accessibility.XAccessibleContext; +import com.sun.star.awt.Point; +import com.sun.star.awt.XExtendedToolkit; import com.sun.star.awt.XWindow; import com.sun.star.beans.PropertyValue; import com.sun.star.frame.XController; import com.sun.star.frame.XDesktop; import com.sun.star.frame.XDispatch; import com.sun.star.frame.XDispatchProvider; -import com.sun.star.frame.XFrame; import com.sun.star.frame.XModel; -import com.sun.star.lang.XInitialization; +import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.text.XTextDocument; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XInterface; import com.sun.star.util.URL; -import com.sun.star.accessibility.AccessibleRole; -import com.sun.star.accessibility.XAccessible; -import com.sun.star.accessibility.XAccessibleComponent; -import com.sun.star.awt.XExtendedToolkit; -import lib.StatusException; -import lib.TestCase; -import lib.TestEnvironment; -import lib.TestParameters; -import util.AccessibilityTools; -import util.DesktopTools; -import util.SOfficeFactory; +import com.sun.star.util.XCloseable; import com.sun.star.util.XURLTransformer; -import com.sun.star.accessibility.XAccessibleAction; -import com.sun.star.accessibility.XAccessibleContext; -import com.sun.star.accessibility.XAccessibleSelection; + /** * Test for object that implements the following interfaces : @@ -117,7 +120,6 @@ import com.sun.star.accessibility.XAccessibleSelection; * @see ifc.accessibility.XAccessibleExtendedComponent */ public class AccessibleTabPage extends TestCase { - XDesktop the_Desk; XTextDocument xTextDoc; XAccessibleAction accCloseButton = null; @@ -126,30 +128,32 @@ public class AccessibleTabPage extends TestCase { * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>). */ protected void initialize(TestParameters Param, PrintWriter log) { - the_Desk = (XDesktop) UnoRuntime.queryInterface( - XDesktop.class, DesktopTools.createDesktop((XMultiServiceFactory)Param.getMSF())); + the_Desk = (XDesktop) UnoRuntime.queryInterface(XDesktop.class, + DesktopTools.createDesktop( + (XMultiServiceFactory) Param.getMSF())); } /** * Closes an InsertFields dialog, disposes the document, if exists, created in * <code>createTestEnvironment</code> method. */ - protected void cleanup( TestParameters Param, PrintWriter log) { - + protected void cleanup(TestParameters Param, PrintWriter log) { try { if (accCloseButton != null) { log.println("closing InsertFields Dialog"); accCloseButton.doAccessibleAction(0); shortWait(); } - } catch(com.sun.star.lang.IndexOutOfBoundsException e) { + } catch (com.sun.star.lang.IndexOutOfBoundsException e) { e.printStackTrace(log); + } catch (com.sun.star.lang.DisposedException e) { + log.println("Couldn't close dialog " + e.getMessage()); } log.println("disposing xTextDoc"); if (xTextDoc != null) { - xTextDoc.dispose(); + closeDoc(); } } @@ -172,10 +176,9 @@ public class AccessibleTabPage extends TestCase { * @see ifc.accessibility._XAccessibleEventBroadcaster * @see com.sun.star.accessibility.XAccessibleEventBroadcaster */ - protected TestEnvironment createTestEnvironment( - TestParameters tParam, PrintWriter log) { - - log.println( "creating a test environment" ); + protected TestEnvironment createTestEnvironment(TestParameters tParam, + PrintWriter log) { + log.println("creating a test environment"); try { if (accCloseButton != null) { @@ -183,102 +186,125 @@ public class AccessibleTabPage extends TestCase { accCloseButton.doAccessibleAction(0); shortWait(); } - } catch(com.sun.star.lang.IndexOutOfBoundsException e) { + } catch (com.sun.star.lang.IndexOutOfBoundsException e) { e.printStackTrace(log); + } catch (com.sun.star.lang.DisposedException e) { + log.println("Couldn't close dialog " + e.getMessage()); } - if (xTextDoc != null) xTextDoc.dispose(); + log.println("disposing xTextDoc"); + + if (xTextDoc != null) { + closeDoc(); + } // get a soffice factory object - SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)tParam.getMSF()); + SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory) tParam.getMSF()); try { - log.println( "creating a text document" ); + log.println("creating a text document"); xTextDoc = SOF.createTextDoc(null); - } catch ( com.sun.star.uno.Exception e ) { + } catch (com.sun.star.uno.Exception e) { // Some exception occures.FAILED - e.printStackTrace( log ); - throw new StatusException( "Couldn't create document", e ); + e.printStackTrace(log); + throw new StatusException("Couldn't create document", e); } shortWait(); - XModel aModel1 = (XModel) - UnoRuntime.queryInterface(XModel.class, xTextDoc); + XModel aModel1 = (XModel) UnoRuntime.queryInterface(XModel.class, + xTextDoc); XController secondController = aModel1.getCurrentController(); - XDispatchProvider aProv = (XDispatchProvider)UnoRuntime. - queryInterface(XDispatchProvider.class, secondController); + XDispatchProvider aProv = (XDispatchProvider) UnoRuntime.queryInterface( + XDispatchProvider.class, + secondController); XURLTransformer urlTransf = null; try { - XInterface transf = (XInterface)((XMultiServiceFactory)tParam.getMSF()).createInstance - ("com.sun.star.util.URLTransformer"); - urlTransf = (XURLTransformer)UnoRuntime.queryInterface - (XURLTransformer.class, transf); + XInterface transf = (XInterface) ( (XMultiServiceFactory) tParam.getMSF()) + .createInstance("com.sun.star.util.URLTransformer"); + urlTransf = (XURLTransformer) UnoRuntime.queryInterface( + XURLTransformer.class, transf); } catch (com.sun.star.uno.Exception e) { e.printStackTrace(log); - throw new StatusException("Couldn't create URLTransformer", e ); + throw new StatusException("Couldn't create URLTransformer", e); } XDispatch getting = null; - log.println( "opening InsertField dialog" ); + log.println("opening InsertField dialog"); + URL[] url = new URL[1]; url[0] = new URL(); url[0].Complete = ".uno:InsertField"; urlTransf.parseStrict(url); getting = aProv.queryDispatch(url[0], "", 0); + PropertyValue[] noArgs = new PropertyValue[0]; getting.dispatch(url[0], noArgs); shortWait(); XInterface oObj = null; + try { - oObj = (XInterface) ((XMultiServiceFactory)tParam.getMSF()).createInstance - ("com.sun.star.awt.Toolkit") ; + oObj = (XInterface) ( (XMultiServiceFactory) tParam.getMSF()) + .createInstance("com.sun.star.awt.Toolkit"); } catch (com.sun.star.uno.Exception e) { log.println("Couldn't get toolkit"); e.printStackTrace(log); - throw new StatusException("Couldn't get toolkit", e ); + throw new StatusException("Couldn't get toolkit", e); } - XExtendedToolkit tk = (XExtendedToolkit) - UnoRuntime.queryInterface(XExtendedToolkit.class, oObj); + XExtendedToolkit tk = (XExtendedToolkit) UnoRuntime.queryInterface( + XExtendedToolkit.class, oObj); AccessibilityTools at = new AccessibilityTools(); shortWait(); - XWindow xWindow = (XWindow) - UnoRuntime.queryInterface(XWindow.class, tk.getActiveTopWindow()); + XWindow xWindow = (XWindow) UnoRuntime.queryInterface(XWindow.class, + tk.getActiveTopWindow()); XAccessible xRoot = at.getAccessibleObject(xWindow); XAccessibleContext closeButton = at.getAccessibleObjectForRole(xRoot, - AccessibleRole.PUSH_BUTTON, "Close"); + AccessibleRole.PUSH_BUTTON, + "Close"); - accCloseButton = (XAccessibleAction) - UnoRuntime.queryInterface(XAccessibleAction.class, closeButton); + accCloseButton = (XAccessibleAction) UnoRuntime.queryInterface( + XAccessibleAction.class, closeButton); - oObj = at.getAccessibleObjectForRole(xRoot, - AccessibleRole.PAGE_TAB); + oObj = at.getAccessibleObjectForRole(xRoot, AccessibleRole.PAGE_TAB); - log.println("ImplementationName: "+ util.utils.getImplName(oObj)); + log.println("ImplementationName: " + util.utils.getImplName(oObj)); TestEnvironment tEnv = new TestEnvironment(oObj); - final XAccessibleComponent accComp = (XAccessibleComponent) - UnoRuntime.queryInterface(XAccessibleComponent.class, oObj); + tEnv.addObjRelation("EditOnly", "toolkit.AccessibleTabPage"); + tEnv.addObjRelation("LimitedBounds", "toolkit.AccessibleTabPage"); + + XAccessibleComponent accComp = (XAccessibleComponent) UnoRuntime.queryInterface( + XAccessibleComponent.class, + oObj); + final Point point = accComp.getLocationOnScreen(); + + shortWait(); tEnv.addObjRelation("EventProducer", - new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){ - public void fireEvent() { - accComp.grabFocus(); + new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() { + public void fireEvent() { + try { + Robot rob = new Robot(); + rob.mouseMove(point.X + 20, point.Y + 70); + rob.mousePress(InputEvent.BUTTON1_MASK); + } catch (java.awt.AWTException e) { + System.out.println("couldn't fire event"); } - }); + } + }); return tEnv; } @@ -289,10 +315,22 @@ public class AccessibleTabPage extends TestCase { */ private void shortWait() { try { - Thread.currentThread().sleep(1000) ; + Thread.currentThread().sleep(1000); } catch (InterruptedException e) { - System.out.println("While waiting :" + e) ; + System.out.println("While waiting :" + e); } } -} + protected void closeDoc() { + XCloseable closer = (XCloseable) UnoRuntime.queryInterface( + XCloseable.class, xTextDoc); + + try { + closer.close(true); + } catch (com.sun.star.util.CloseVetoException e) { + log.println("Couldn't close document " + e.getMessage()); + } catch (com.sun.star.lang.DisposedException e) { + log.println("Couldn't close document " + e.getMessage()); + } + } +}
\ No newline at end of file |