dbaccess a11y test: Drop long disabled TableWindowAccessibility Java test

That Java a11y/UNO test has been disabled since

    commit 553eedabbc
    Author: Vladimir Glazounov <vg@openoffice.org>
    Date:   Tue Oct 23 08:46:59 2007 +0000

        INTEGRATION: CWS unoapi1 (1.3.508); FILE MERGED
        2007/08/15 13:44:01 cn 1.3.508.1: #i79479# update files

The test can still be seen failing by enabling it locally
like this

    diff --git a/dbaccess/qa/unoapi/dbaccess.sce b/dbaccess/qa/unoapi/dbaccess.sce
    index 13fa966abe1a..cc67e49a98a9 100644
    --- a/dbaccess/qa/unoapi/dbaccess.sce
    +++ b/dbaccess/qa/unoapi/dbaccess.sce
    @@ -29,4 +29,4 @@
     -o dbaccess.OSQLMessageDialog
     -o dbaccess.OSingleSelectQueryComposer
     #i95611 -o dbaccess.SbaXGridControl
    -#i84128 -o dbaccess.TableWindowAccessibility
    +-o dbaccess.TableWindowAccessibility

and then running `make JunitTest_dbaccess_unoapi`.

Drop the broken test altogether.

If there should be a relevant test again in the future,
writing a new (presumably C++, see [1]) one from scratch seems more
promising than having to deal with this outdated and disabled
test.

Dropping it also prepares for an upcoming dbaccess a11y change
that would break even more assumptions that the test makes.

[1] https://wiki.documentfoundation.org/Development/Accessibility_Unit_Tests

Change-Id: I540668d84a867e2c051f6c327a0b9c62e594db1b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210358
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
This commit is contained in:
Michael Weghorn
2026-09-02 14:32:26 +02:00
parent 894664eae1
commit 0c32aa6acf
5 changed files with 1 additions and 287 deletions
-1
View File
@@ -762,7 +762,6 @@ $(eval $(call gb_Jar_add_sourcefiles,OOoRunner,\
qadevOOo/tests/java/mod/_dbaccess/OSingleSelectQueryComposer \
qadevOOo/tests/java/mod/_dbaccess/OSQLMessageDialog \
qadevOOo/tests/java/mod/_dbaccess/SbaXGridControl \
qadevOOo/tests/java/mod/_dbaccess/TableWindowAccessibility \
qadevOOo/tests/java/mod/_dbpool/OConnectionPool \
qadevOOo/tests/java/mod/_defreg/NestedRegistry \
qadevOOo/tests/java/mod/_dtrans/generic \
@@ -1,13 +0,0 @@
"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
"TableWindowAccessibility";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
1 TableWindowAccessibility com::sun::star::accessibility::XAccessibleEventBroadcaster#optional addEventListener()
2 TableWindowAccessibility com::sun::star::accessibility::XAccessibleEventBroadcaster#optional removeEventListener()
3 TableWindowAccessibility com::sun::star::accessibility::XAccessible getAccessibleContext()
4 TableWindowAccessibility com::sun::star::accessibility::XAccessibleContext getAccessibleChildCount()
5 TableWindowAccessibility com::sun::star::accessibility::XAccessibleContext getAccessibleChild()
6 TableWindowAccessibility com::sun::star::accessibility::XAccessibleContext getAccessibleParent()
7 TableWindowAccessibility com::sun::star::accessibility::XAccessibleContext getAccessibleIndexInParent()
8 TableWindowAccessibility com::sun::star::accessibility::XAccessibleContext getAccessibleRole()
9 TableWindowAccessibility com::sun::star::accessibility::XAccessibleContext getAccessibleDescription()
10 TableWindowAccessibility com::sun::star::accessibility::XAccessibleContext getAccessibleName()
11 TableWindowAccessibility com::sun::star::accessibility::XAccessibleContext getAccessibleRelationSet()
12 TableWindowAccessibility com::sun::star::accessibility::XAccessibleContext getAccessibleStateSet()
13 TableWindowAccessibility com::sun::star::accessibility::XAccessibleContext getLocale()
@@ -1,267 +0,0 @@
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
package mod._dbaccess;
import java.io.PrintWriter;
import lib.Status;
import lib.StatusException;
import lib.TestCase;
import lib.TestEnvironment;
import lib.TestParameters;
import util.AccessibilityTools;
import com.sun.star.accessibility.AccessibleRole;
import com.sun.star.accessibility.XAccessible;
import com.sun.star.accessibility.XAccessibleComponent;
import com.sun.star.awt.Point;
import com.sun.star.awt.XWindow;
import com.sun.star.beans.PropertyValue;
import com.sun.star.beans.XPropertySet;
import com.sun.star.container.XNameAccess;
import com.sun.star.container.XNameContainer;
import com.sun.star.frame.XModel;
import com.sun.star.frame.XStorable;
import com.sun.star.lang.XComponent;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.sdb.XDocumentDataSource;
import com.sun.star.sdb.XQueryDefinitionsSupplier;
import com.sun.star.sdbc.XConnection;
import com.sun.star.sdbc.XIsolatedConnection;
import com.sun.star.sdbc.XStatement;
import com.sun.star.ucb.XSimpleFileAccess;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XInterface;
import java.awt.Robot;
import java.awt.event.InputEvent;
import util.DesktopTools;
import util.utils;
/**
* Object implements the following interfaces :
* <ul>
* <li><code>::com::sun::star::accessibility::XAccessible</code></li>
* <li><code>::com::sun::star::accessibility::XAccessibleContext
* </code></li>
* <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
* </code></li>
* </ul>
* <p>
*
* @see com.sun.star.accessibility.XAccessible
* @see com.sun.star.accessibility.XAccessibleContext
* @see com.sun.star.accessibility.XAccessibleEventBroadcaster
* @see ifc.accessibility._XAccessible
* @see ifc.accessibility._XAccessibleContext
* @see ifc.accessibility._XAccessibleEventBroadcaster
*/
public class TableWindowAccessibility extends TestCase {
XWindow xWindow = null;
String aFile = "";
XIsolatedConnection isolConnection = null;
XComponent QueryComponent = null;
String user = "";
String password = "";
/**
* Creates a new DataSource and stores it. Creates a connection and using it
* creates two tables in database. Creates a new query and adds it to
* DefinitionContainer. Opens the QueryComponent.with loadComponentFromURL
* and gets the object with the role PANEL and the implementation name that
* contains TabelViewAccessibility
*
* @param Param
* test parameters
* @param log
* writer to log information while testing
* @return
* @throws StatusException
* @see TestEnvironment
*/
@Override
protected TestEnvironment createTestEnvironment(TestParameters Param,
PrintWriter log) throws Exception {
XInterface oObj = null;
Param.getMSF().createInstance("com.sun.star.sdb.DatabaseContext");
Object oDBSource = Param.getMSF()
.createInstance("com.sun.star.sdb.DataSource");
Object newQuery = Param.getMSF().createInstance(
"com.sun.star.sdb.QueryDefinition");
Param.getMSF().createInstance("com.sun.star.awt.Toolkit");
String mysqlURL = (String) Param.get("mysql.url");
if (mysqlURL == null) {
throw new StatusException(
Status.failed("Couldn't get 'mysql.url' from ini-file"));
}
user = (String) Param.get("jdbc.user");
password = (String) Param.get("jdbc.password");
if ((user == null) || (password == null)) {
throw new StatusException(
Status.failed("Couldn't get 'jdbc.user' or 'jdbc.password' from ini-file"));
}
PropertyValue[] info = new PropertyValue[2];
info[0] = new PropertyValue();
info[0].Name = "user";
info[0].Value = user;
info[1] = new PropertyValue();
info[1].Name = "password";
info[1].Value = password;
XPropertySet propSetDBSource = UnoRuntime.queryInterface(
XPropertySet.class, oDBSource);
propSetDBSource.setPropertyValue("URL", mysqlURL);
propSetDBSource.setPropertyValue("Info", info);
log.println("writing database file ...");
XDocumentDataSource xDDS = UnoRuntime.queryInterface(
XDocumentDataSource.class, oDBSource);
XStorable store = UnoRuntime.queryInterface(XStorable.class,
xDDS.getDatabaseDocument());
aFile = utils.getOfficeTemp(Param.getMSF()) + "TableWindow.odb";
log.println("... filename will be " + aFile);
store.storeAsURL(aFile, new PropertyValue[] {});
log.println("... done");
isolConnection = UnoRuntime.queryInterface(XIsolatedConnection.class,
oDBSource);
final String tbl_name1 = "tst_table1";
final String tbl_name2 = "tst_table2";
final String col_name1 = "id1";
final String col_name2 = "id2";
util.utils.waitForEventIdle(Param.getMSF());
XConnection connection = isolConnection.getIsolatedConnection(user, password);
XStatement statement = connection.createStatement();
statement.executeUpdate("drop table if exists " + tbl_name1);
statement.executeUpdate("drop table if exists " + tbl_name2);
statement.executeUpdate("create table " + tbl_name1 + " ("
+ col_name1 + " int)");
statement.executeUpdate("create table " + tbl_name2 + " ("
+ col_name2 + " int)");
XQueryDefinitionsSupplier querySuppl = UnoRuntime.queryInterface(
XQueryDefinitionsSupplier.class, oDBSource);
XNameAccess defContainer = querySuppl.getQueryDefinitions();
XPropertySet queryProp = UnoRuntime.queryInterface(XPropertySet.class,
newQuery);
final String query = "select * from " + tbl_name1 + ", " + tbl_name2
+ " where " + tbl_name1 + "." + col_name1 + "=" + tbl_name2
+ "." + col_name2;
queryProp.setPropertyValue("Command", query);
XNameContainer queryContainer = UnoRuntime.queryInterface(
XNameContainer.class, defContainer);
queryContainer.insertByName("Query1", newQuery);
store.store();
connection.close();
PropertyValue[] loadProps = new PropertyValue[3];
loadProps[0] = new PropertyValue();
loadProps[0].Name = "QueryDesignView";
loadProps[0].Value = Boolean.TRUE;
loadProps[1] = new PropertyValue();
loadProps[1].Name = "CurrentQuery";
loadProps[1].Value = "Query1";
loadProps[2] = new PropertyValue();
loadProps[2].Name = "DataSource";
loadProps[2].Value = oDBSource;
QueryComponent = DesktopTools.loadDoc(Param.getMSF(),
".component:DB/QueryDesign", loadProps);
xWindow = UnoRuntime.queryInterface(XModel.class, QueryComponent)
.getCurrentController().getFrame().getContainerWindow();
XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
AccessibilityTools.printAccessibleTree(log, xRoot,
Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
AccessibleRole.PANEL, "", "TableWindowAccessibility");
log.println("ImplementationName " + util.utils.getImplName(oObj));
log.println("creating TestEnvironment ... done");
TestEnvironment tEnv = new TestEnvironment(oObj);
util.utils.waitForEventIdle(Param.getMSF());
XAccessibleComponent accComp = UnoRuntime.queryInterface(
XAccessibleComponent.class, oObj);
final Point point = accComp.getLocationOnScreen();
tEnv.addObjRelation(
"EventProducer",
new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
public void fireEvent() {
try {
Robot rob = new Robot();
rob.mouseMove(point.X + 2, point.Y + 7);
rob.mousePress(InputEvent.BUTTON1_MASK);
rob.mouseMove(point.X + 400, point.Y);
rob.mouseRelease(InputEvent.BUTTON1_MASK);
} catch (java.awt.AWTException e) {
System.out.println("desired child doesn't exist");
}
}
});
return tEnv;
} // finish method getTestEnvironment
/**
* Closes all open documents.
*/
@Override
protected void cleanup(TestParameters Param, PrintWriter log) {
try {
log.println("closing QueryComponent ...");
DesktopTools.closeDoc(QueryComponent);
log.println("... done");
XMultiServiceFactory xMSF = Param.getMSF();
Object sfa = xMSF
.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
XSimpleFileAccess xSFA = UnoRuntime.queryInterface(
XSimpleFileAccess.class, sfa);
log.println("deleting database file");
xSFA.kill(aFile);
log.println("Could delete file " + aFile + ": "
+ !xSFA.exists(aFile));
} catch (Exception e) {
e.printStackTrace();
}
}
}