bump product version to 5.0.4.1
[LibreOffice.git] / qadevOOo / tests / java / mod / _sc / ScAccessibleDocument.java
blobea3745995342f509e7418a228f12e0a5e325a332
1 /*
2 * This file is part of the LibreOffice project.
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 * This file incorporates work covered by the following license notice:
10 * Licensed to the Apache Software Foundation (ASF) under one or more
11 * contributor license agreements. See the NOTICE file distributed
12 * with this work for additional information regarding copyright
13 * ownership. The ASF licenses this file to you under the Apache
14 * License, Version 2.0 (the "License"); you may not use this file
15 * except in compliance with the License. You may obtain a copy of
16 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 package mod._sc;
21 import java.io.PrintWriter;
23 import lib.StatusException;
24 import lib.TestCase;
25 import lib.TestEnvironment;
26 import lib.TestParameters;
27 import util.AccessibilityTools;
28 import util.SOfficeFactory;
29 import util.utils;
31 import com.sun.star.accessibility.AccessibleRole;
32 import com.sun.star.accessibility.XAccessible;
33 import com.sun.star.awt.Rectangle;
34 import com.sun.star.awt.XWindow;
35 import com.sun.star.frame.XModel;
36 import com.sun.star.lang.XComponent;
37 import com.sun.star.uno.UnoRuntime;
38 import com.sun.star.uno.XInterface;
41 /**
42 * Test for object which is represented by accessible component of
43 * a spreadsheet document.
45 * Object implements the following interfaces :
46 * <ul>
47 * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
48 * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
49 * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
50 * <li> <code>::com::sun::star::accessibility::XAccessibleSelection</code></li>
51 * </ul> <p>
53 * @see com.sun.star.accessibility.XAccessibleComponent
54 * @see com.sun.star.accessibility.XAccessibleContext
55 * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
56 * @see com.sun.star.accessibility.XAccessibleSelection
57 * @see ifc.accessibility._XAccessibleComponent
58 * @see ifc.accessibility._XAccessibleEventBroadcaster
59 * @see ifc.accessibility._XAccessibleSelection
60 * @see ifc.accessibility._XAccessibleContext
62 public class ScAccessibleDocument extends TestCase {
64 static XComponent xSpreadsheetDoc = null;
66 /**
67 * Called to create an instance of <code>TestEnvironment</code>
68 * with an object to test and related objects.
69 * Obtains accessible object for the spreadsheet document.
71 * @param Param test parameters
72 * @param log writer to log information while testing
74 * @see TestEnvironment
75 * @see #getTestEnvironment
77 @Override
78 protected TestEnvironment createTestEnvironment(
79 TestParameters Param, PrintWriter log) {
81 XInterface oObj = null;
83 // get the drawpage of drawing here
84 log.println( "getting Drawpages" );
86 XModel aModel = UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
88 XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
89 XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
91 oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT, "");
92 AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
93 log.println("ImplementationName " + utils.getImplName(oObj));
95 TestEnvironment tEnv = new TestEnvironment(oObj);
97 final XWindow xDocWin = xWindow;
98 tEnv.addObjRelation("EventProducer",
99 new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
100 public void fireEvent() {
101 Rectangle rect = xDocWin.getPosSize();
102 xDocWin.setPosSize(rect.X,rect.Y,rect.Height,rect.Width-10,com.sun.star.awt.PosSize.POSSIZE);
106 return tEnv;
111 * Called while disposing a <code>TestEnvironment</code>.
112 * Disposes calc document.
113 * @param Param test parameters
114 * @param log writer to log information while testing
116 @Override
117 protected void cleanup( TestParameters Param, PrintWriter log) {
118 log.println( " disposing xSheetDoc " );
119 util.DesktopTools.closeDoc(xSpreadsheetDoc);
123 * Called while the <code>TestCase</code> initialization. In the
124 * implementation does nothing. Subclasses can override to initialize
125 * objects shared among all <code>TestEnvironment</code>s.
127 * @param Param test parameters
128 * @param log writer to log information while testing
130 * @see #initializeTestCase
132 @Override
133 protected void initialize(TestParameters Param, PrintWriter log) {
134 // get a soffice factory object
135 SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
137 try {
138 log.println("creating a spreadsheetdocument");
139 String url = utils.getFullTestURL("calcshapes.sxc");
140 log.println("loading document "+url);
141 xSpreadsheetDoc = SOF.loadDocument(url);
142 util.utils.pause(500);
143 } catch (com.sun.star.uno.Exception e) {
144 e.printStackTrace( log );
145 throw new StatusException( "Couldn't create document ", e );