blob: ee2263bf5edc17273e4878c99a3a238a4c646a01 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleTable" script:language="StarBasic">
'*************************************************************************
'
' 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
'
' Unless required by applicable law or agreed to in writing,
' software distributed under the License is distributed on an
' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
' KIND, either express or implied. See the License for the
' specific language governing permissions and limitations
' under the License.
'
'*************************************************************************
' Be sure that all variables are dimensioned:
option explicit
Sub RunTest()
'*************************************************************************
' INTERFACE:
' com.sun.star.accessibility.XAccessibleTable
'*************************************************************************
On Error Goto ErrHndl
Dim bOK As Boolean
Dim implSel As Boolean
implSel = hasUNOInterfaces(oObj,"drafts.com.sun.star.accessibility.XAccessibleSelection")
if (NOT implSel) then
Out.Log("!!! The component doesn't implement the interface XAccessibleSelection.")
Out.Log("!!! This interface is required for more detailed tests.")
End If
Test.StartMethod("getAccessibleRowCount()")
Dim rowCount As Long
bOK = true
rowCount = oObj.getAccessibleRowCount()
Out.Log("Accessible row count: "+rowCount)
Test.MethodTested("getAccessibleRowCount()",bOK)
Test.StartMethod("getAccessibleColumnCount()")
Dim colCount As Long
bOK = true
colCount = oObj.getAccessibleColumnCount()
Out.Log("Accessible column count: "+colCount)
Test.MethodTested("getAccessibleColumnCount()",bOK)
Test.StartMethod("getAccessibleRowDescription()")
Dim rowDescr As String
bOK = true
if (rowCount &gt; 0) then
rowDescr = oObj.getAccessibleRowDescription(rowCount - 1)
Out.Log("Row "+(rowCount-1)+" description: "+rowDescr)
bOK = bOK AND NOT isNull(rowDescr)
else
Out.Log("!!! RowCount is 0. Could not test this method.")
End If
Test.MethodTested("getAccessibleRowDescription()",bOK)
Test.StartMethod("getAccessibleColumnDescription()")
Dim colDescr As String
bOK = true
if (colCount &gt; 0) then
colDescr = oObj.getAccessibleRowDescription(colCount - 1)
Out.Log("Column "+(colCount-1)+" description: "+colDescr)
bOK = bOK AND NOT isNull(colDescr)
else
Out.Log("!!! ColumnCount is 0. Could not test this method.")
End If
Test.MethodTested("getAccessibleColumnDescription()",bOK)
Test.StartMethod("getAccessibleRowExtentAt()")
Dim ext As Long
bOK = true
ext = oObj.getAccessibleRowExtentAt(rowCount - 1, colCount - 1)
Out.Log(ext)
bOK = bOK AND (ext &gt;= 1)
Test.MethodTested("getAccessibleRowExtentAt()",bOK)
Test.StartMethod("getAccessibleColumnExtentAt()")
bOK = true
ext = oObj.getAccessibleColumnExtentAt(rowCount - 1, colCount - 1)
Out.Log(ext)
bOK = bOK AND (ext &gt;= 1)
Test.MethodTested("getAccessibleColumnExtentAt()",bOK)
Test.StartMethod("getAccessibleRowHeaders()")
Dim rowHeaders As Object
bOK = true
rowHeaders = oObj.getAccessibleRowHeaders()
bOK = bOK AND NOT isNull(rowHeaders)
Test.MethodTested("getAccessibleRowHeaders()",bOK)
Test.StartMethod("getAccessibleColumnHeaders()")
Dim colHeaders As Object
bOK = true
colHeaders = oObj.getAccessibleColumnHeaders()
bOK = bOK AND NOT isNull(colHeaders)
Test.MethodTested("getAccessibleColumnHeaders()",bOK)
Test.StartMethod("getSelectedAccessibleRows()")
Dim selRows As Variant
Dim elCount As Long, i As Integer
Dim locRes As Boolean
bOK = true
if implSel then
oObj.selectAllAccessible()
End If
selRows = oObj.getSelectedAccessibleRows()
elCount = ubound(selRows) - 1
Out.Log("Returned sequence has "+elCount+" elements")
if implSel then
bOK = bOK AND (elCount = rowCount)
else
bOK = bOK AND (elCount = 0)
End If
if (elCount &gt; 0) then
Out.Log("Checking that returned sequence is in ascending order")
End If
i = 1
while (i &lt; elCount)
locRes = (selRows(i) &gt;= selRows(i-1))
bOK = bOK AND locRes
if NOT locRes then
Out.Log("Element "+i+" : Returned sequence is not in accending order.")
break
End If
wend
Test.MethodTested("getSelectedAccessibleRows()",bOK)
Test.StartMethod("getSelectedAccessibleColumns()")
Dim selCols As Variant
bOK = true
selCols = oObj.getSelectedAccessibleRows()
elCount = ubound(selCols) - 1
Out.Log("Returned sequence has "+elCount+" elements")
if implSel then
bOK = bOK AND (elCount = colCount)
else
bOK = bOK AND (elCount = 0)
End If
if (elCount &gt; 0) then
Out.Log("Checking that returned sequence is in ascending order")
End If
i = 1
while (i &lt; elCount)
locRes = (selCols(i) &gt;= selCols(i-1))
bOK = bOK AND locRes
if NOT locRes then
Out.Log("Element "+i+" : Returned sequence is not in accending order.")
break
End If
wend
Test.MethodTested("getSelectedAccessibleColumns()",bOK)
Test.StartMethod("isAccessibleRowSelected()")
Dim mCount As Integer
bOK = true
locRes = true
if (rowCount &gt; 299) then
mCount = 299
else
mCount = rowCount - 1
End If
for i=0 to mCount
locRes = oObj.isAccessibleRowSelected(i)
if implSel then
bOK = bOK AND locRes
else
bOK = bOK AND NOT locRes
End If
next i
Out.Log("Checked "+i+" of "+rowCount+" rows.")
Test.MethodTested("isAccessibleRowSelected()",bOK)
Test.StartMethod("isAccessibleColumnSelected()")
bOK = true
locRes = true
if (colCount &gt; 299) then
mCount = 299
else
mCount = colCount - 1
End If
for i=0 to mCount
locRes = oObj.isAccessibleColumnSelected(i)
if implSel then
bOK = bOK AND locRes
else
bOK = bOK AND NOT locRes
End If
next i
Out.Log("Checked "+i+" of "+colCount+" columns.")
Test.MethodTested("isAccessibleColumnSelected()",bOK)
Test.StartMethod("getAccessibleCellAt()")
Dim xAccCell As Object
bOK = true
xAccCell = oObj.getAccessibleCellAt(rowCount - 1, colCount - 1)
bOK = bOK AND NOT isNull(xAccCell)
Test.MethodTested("getAccessibleCellAt()",bOK)
Test.StartMethod("getAccessibleCaption()")
Dim caption As Object
bOK = true
caption = oObj.getAccessibleCaption()
Test.MethodTested("getAccessibleCaption()",bOK)
Test.StartMethod("getAccessibleSummary()")
Dim summary As Object
bOK = true
summary = oObj.getAccessibleSummary()
Test.MethodTested("getAccessibleSummary()",bOK)
Test.StartMethod("isAccessibleSelected()")
bOK = true
locRes = oObj.isAccessibleSelected(rowCount - 1, colCount - 1)
if implSel then
bOK = bOK AND locRes
else
bOK = bOK AND NOT locRes
End If
Test.MethodTested("isAccessibleSelected()",bOK)
Test.StartMethod("getAccessibleIndex()")
Dim ind As Long, expIndex As Long
bOK = true
ind = oObj.getAccessibleIndex(rowCount - 1, colCount - 1)
Out.Log("AccessibleIndex is: "+ind)
if NOT isNull(xAccCell) then
expIndex = xAccCell.getAccessibleContext().getAccessibleIndexInParent()
Out.Log("Expected index is: "+expIndex)
bOK = bOK AND (ind = expIndex)
End If
Test.MethodTested("getAccessibleIndex()",bOK)
Test.StartMethod("getAccessibleRow()")
Dim rowIndex As Long
Dim chCount As Long
bOK = true
if hasUNOInterfaces(oObj,"drafts.com.sun.star.accessibility.XAccessibleContext") then
chCount = oObj.getAccessibleChildCount()
rowIndex = oObj.getAccessibleRow(chCount - 1)
bOK = bOK AND (rowIndex &gt;= 0) AND (rowIndex &lt;= rowCount)
End If
rowIndex = oObj.getAccessibleRow(0)
bOK = bOK AND (rowIndex &gt;= 0) AND (rowIndex &lt;= rowCount)
Test.MethodTested("getAccessibleRow()",bOK)
Test.StartMethod("getAccessibleColumn()")
Dim colIndex As Long
bOK = true
if hasUNOInterfaces(oObj,"drafts.com.sun.star.accessibility.XAccessibleContext") then
chCount = oObj.getAccessibleChildCount()
colIndex = oObj.getAccessibleColumn(chCount - 1)
bOK = bOK AND (colIndex &gt;= 0) AND (colIndex &lt;= colCount)
End If
colIndex = oObj.getAccessibleColumn(0)
bOK = bOK AND (colIndex &gt;= 0) AND (colIndex &lt;= colCount)
Test.MethodTested("getAccessibleColumn()",bOK)
Exit Sub
ErrHndl:
Test.Exception()
bOK = false
resume next
End Sub
</script:module>