1cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?>
2cdf0e10cSrcweir<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
3cdf0e10cSrcweir<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleAction" script:language="StarBasic">
4cdf0e10cSrcweir
5cdf0e10cSrcweir
6cdf0e10cSrcweir'*************************************************************************
7cdf0e10cSrcweir'
8*2f3df0e5SAndrew Rist'  Licensed to the Apache Software Foundation (ASF) under one
9*2f3df0e5SAndrew Rist'  or more contributor license agreements.  See the NOTICE file
10*2f3df0e5SAndrew Rist'  distributed with this work for additional information
11*2f3df0e5SAndrew Rist'  regarding copyright ownership.  The ASF licenses this file
12*2f3df0e5SAndrew Rist'  to you under the Apache License, Version 2.0 (the
13*2f3df0e5SAndrew Rist'  "License"); you may not use this file except in compliance
14*2f3df0e5SAndrew Rist'  with the License.  You may obtain a copy of the License at
15*2f3df0e5SAndrew Rist'
16*2f3df0e5SAndrew Rist'    http://www.apache.org/licenses/LICENSE-2.0
17*2f3df0e5SAndrew Rist'
18*2f3df0e5SAndrew Rist'  Unless required by applicable law or agreed to in writing,
19*2f3df0e5SAndrew Rist'  software distributed under the License is distributed on an
20*2f3df0e5SAndrew Rist'  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21*2f3df0e5SAndrew Rist'  KIND, either express or implied.  See the License for the
22*2f3df0e5SAndrew Rist'  specific language governing permissions and limitations
23*2f3df0e5SAndrew Rist'  under the License.
24cdf0e10cSrcweir'
25cdf0e10cSrcweir'*************************************************************************
26cdf0e10cSrcweir
27cdf0e10cSrcweir
28cdf0e10cSrcweir
29*2f3df0e5SAndrew Rist
30*2f3df0e5SAndrew Rist
31cdf0e10cSrcweir' Be sure that all variables are dimensioned:
32cdf0e10cSrcweiroption explicit
33cdf0e10cSrcweir
34cdf0e10cSrcweir
35cdf0e10cSrcweir
36cdf0e10cSrcweir
37cdf0e10cSrcweirSub RunTest()
38cdf0e10cSrcweir
39cdf0e10cSrcweir'*************************************************************************
40cdf0e10cSrcweir' INTERFACE:
41cdf0e10cSrcweir' com.sun.star.accessibility.XAccessibleAction
42cdf0e10cSrcweir'*************************************************************************
43cdf0e10cSrcweirOn Error Goto ErrHndl
44cdf0e10cSrcweir    Dim bOK As Boolean
45cdf0e10cSrcweir
46cdf0e10cSrcweir    Test.StartMethod("getAccessibleActionCount()")
47cdf0e10cSrcweir    Dim count As Long
48cdf0e10cSrcweir    bOK = true
49cdf0e10cSrcweir    count = oObj.getAccessibleActionCount()
50cdf0e10cSrcweir    bOK = bOK AND (count &gt; 0)
51cdf0e10cSrcweir    Test.MethodTested("getAccessibleActionCount()",bOK)
52cdf0e10cSrcweir
53cdf0e10cSrcweir    Test.StartMethod("getAccessibleActionDescription()")
54cdf0e10cSrcweir    Dim i As Long
55cdf0e10cSrcweir    Dim desc As String
56cdf0e10cSrcweir    bOK = true
57cdf0e10cSrcweir    i = 0
58cdf0e10cSrcweir    while ( i &lt; count)
59cdf0e10cSrcweir        desc = oObj.getAccessibleActionDescription(i)
60cdf0e10cSrcweir        Out.Log("Found action "+i+": "+desc)
61cdf0e10cSrcweir        bOK = bOK AND NOT isNull(desc)
62cdf0e10cSrcweir        i = i + 1
63cdf0e10cSrcweir    wend
64cdf0e10cSrcweir    Test.MethodTested("getAccessibleActionDescription()",bOK)
65cdf0e10cSrcweir
66cdf0e10cSrcweir    Test.StartMethod("getAccessibleActionKeyBinding()")
67cdf0e10cSrcweir    Dim key As Variant
68cdf0e10cSrcweir    bOK = true
69cdf0e10cSrcweir    i = 0
70cdf0e10cSrcweir    while ( i &lt; count)
71cdf0e10cSrcweir        key = oObj.getAccessibleActionKeyBinding(i)
72cdf0e10cSrcweir        if not isNull(key) then
73cdf0e10cSrcweir            out.Log("Found key in " + i)
74cdf0e10cSrcweir        end if
75cdf0e10cSrcweir        i = i + 1
76cdf0e10cSrcweir    wend
77cdf0e10cSrcweir    Test.MethodTested("getAccessibleActionKeyBinding()",bOK)
78cdf0e10cSrcweir
79cdf0e10cSrcweir    Test.StartMethod("doAccessibleAction()")
80cdf0e10cSrcweir    bOK = true
81cdf0e10cSrcweir    bOK = bOK AND oObj.doAccessibleAction(0)
82cdf0e10cSrcweir    Test.MethodTested("doAccessibleAction()",bOK)
83cdf0e10cSrcweir
84cdf0e10cSrcweir    'This delay is REQUIRED here to avoid soffice blocking
85cdf0e10cSrcweir    wait(1000)
86cdf0e10cSrcweir    ReCreateObj()
87cdf0e10cSrcweir
88cdf0e10cSrcweirExit Sub
89cdf0e10cSrcweirErrHndl:
90cdf0e10cSrcweir    Test.Exception()
91cdf0e10cSrcweir    bOK = false
92cdf0e10cSrcweir    resume next
93cdf0e10cSrcweirEnd Sub
94cdf0e10cSrcweir</script:module>
95