summaryrefslogtreecommitdiff
path: root/qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/accessibility_XAccessibleText.xba
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/accessibility_XAccessibleText.xba')
-rw-r--r--qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/accessibility_XAccessibleText.xba197
1 files changed, 197 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/accessibility_XAccessibleText.xba b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/accessibility_XAccessibleText.xba
new file mode 100644
index 000000000000..1ec8ddc02c6b
--- /dev/null
+++ b/qadevOOo/tests/basic/ifc/accessibility/XAccessibleText/accessibility_XAccessibleText.xba
@@ -0,0 +1,197 @@
+<?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_XAccessibleText" script:language="StarBasic">
+
+
+'*************************************************************************
+'
+' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+'
+' Copyright 2000, 2010 Oracle and/or its affiliates.
+'
+' OpenOffice.org - a multi-platform office productivity suite
+'
+' This file is part of OpenOffice.org.
+'
+' OpenOffice.org is free software: you can redistribute it and/or modify
+' it under the terms of the GNU Lesser General Public License version 3
+' only, as published by the Free Software Foundation.
+'
+' OpenOffice.org is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+' GNU Lesser General Public License version 3 for more details
+' (a copy is included in the LICENSE file that accompanied this code).
+'
+' You should have received a copy of the GNU Lesser General Public License
+' version 3 along with OpenOffice.org. If not, see
+' <http://www.openoffice.org/license.html>
+' for a copy of the LGPLv3 License.
+'
+'*************************************************************************
+'*************************************************************************
+
+
+
+' Be sure that all variables are dimensioned:
+option explicit
+
+'*************************************************************************
+' This Interface/Service test depends on the following GLOBAL variables,
+' which must be specified in the object creation:
+
+' Global accText as String
+' Global readOnly as Boolean
+
+'*************************************************************************
+
+Sub RunTest()
+
+'*************************************************************************
+' INTERFACE:
+' com.sun.star.accessibility.XAccessibleText
+'*************************************************************************
+On Error Goto ErrHndl
+ Dim bOK As Boolean
+ Dim chCount As Integer
+ Dim accTextSegment as new com.sun.star.accessibility.TextSegment
+
+ Test.StartMethod("getCharacterCount()")
+ bOK = true
+ chCount = oObj.getCharacterCount()
+ Out.Log("Character count: "+chCount)
+ bOK = bOK AND (len(accText) = chCount)
+ Test.MethodTested("getCharacterCount()",bOK)
+
+ Test.StartMethod("getCaretPosition()")
+ Test.StartMethod("setCaretPosition()")
+ bOK = true
+ Dim carPos As Integer
+ oObj.setCaretPosition(chCount - 1)
+ carPos = oObj.getCaretPosition()
+ if not readOnly then
+ Out.Log("getCaretPosition: " + carPos)
+ bOK = bOK AND (carPos = chCount - 1)
+ else
+ Out.Log("Object is read only and Caret position couldn't be set")
+ end if
+ Test.MethodTested("getCaretPosition()",bOK)
+ Test.MethodTested("setCaretPosition()",bOK)
+
+ Test.StartMethod("getCharacter()")
+ Dim i As Integer
+ bOK = true
+ for i = 0 to chCount-1
+ bOK = bOK AND (chr(oObj.getCharacter(i)) = _
+ utils.getCharacter(i+1,accText))
+ next i
+ Test.MethodTested("getCharacter()",bOK)
+
+ Test.StartMethod("getCharacterAttributes()")
+ Dim attrs() As Variant
+ Dim ReqAttrs(0) as String
+ bOK = true
+ attrs = oObj.getCharacterAttributes(chCount - 1, ReqAttrs())
+ bOK = bOK AND NOT isNull(attrs)
+ Out.Log("Properties ubound: "+ubound(attrs))
+ Test.MethodTested("getCharacterAttributes()",bOK)
+
+ Test.StartMethod("getCharacterBounds()")
+ Dim chBounds As new com.sun.star.awt.Rectangle
+ bOK = true
+ chBounds = oObj.getCharacterBounds(chCount - 1)
+ Out.Log("Character boundbox: "+chBounds.X+", "+chBounds.Y+", "+ _
+ chBounds.Width+", "+chBounds.Height)
+ bOK = bOK AND NOT isNull(chBounds)
+ Test.MethodTested("getCharacterBounds()",bOK)
+
+ Test.StartMethod("getIndexAtPoint()")
+ Dim index As Integer
+ Dim point As new com.sun.star.awt.Point
+ bOK = true
+ point.X = chBounds.X + 1
+ point.Y = chBounds.Y + 1
+ index = oObj.getIndexAtPoint(point)
+ bOK = bOK AND (index = chCount -1)
+ Test.MethodTested("getIndexAtPoint()",bOK)
+
+ Test.StartMethod("getSelectedText()")
+ bOK = true
+ oObj.setSelection(0, chCount)
+ if not readOnly then
+ bOK = bOK AND (accText = oObj.getSelectedText())
+ else
+ Out.Log("Object is unselectable")
+ end if
+ Test.MethodTested("getSelectedText()",bOK)
+
+ Test.StartMethod("getSelectionStart()")
+ bOK = true
+ oObj.setSelection(chCount-1,chCount)
+ if not readOnly then
+ bOK = bOK AND (oObj.getSelectionStart() = chCount -1)
+ else
+ Out.Log("Object is unselectable")
+ end if
+ Test.MethodTested("getSelectionStart()",bOK)
+
+ Test.StartMethod("getSelectionEnd()")
+ bOK = true
+ oObj.setSelection(0,chCount - 1)
+ if not readOnly then
+ bOK = bOK AND (oObj.getSelectionEnd() = chCount - 1)
+ else
+ Out.Log("Object is unselectable")
+ end if
+ Test.MethodTested("getSelectionEnd()",bOK)
+
+ Test.StartMethod("setSelection()")
+ bOK = true
+ if not readOnly then
+ bOK = bOK AND oObj.setSelection(0,chCount)
+ else
+ Out.Log("Object is unselectable")
+ end if
+ Test.MethodTested("setSelection()",bOK)
+
+ Test.StartMethod("getText()")
+ bOK = true
+ bOK = bOK AND (accText = oObj.getText())
+ Test.MethodTested("getText()",bOK)
+
+ Test.StartMethod("getTextRange()")
+ bOK = true
+ bOK = bOK AND (accText = oObj.getTextRange(0,chCount))
+ Test.MethodTested("getTextRange()",bOK)
+
+ Test.StartMethod("getTextAtIndex()")
+ bOK = true
+ accTextSegment = oObj.getTextAtIndex(chCount - 1, 4)
+ bOK = bOK AND (accText = accTextSegment.SegmentText)
+ Test.MethodTested("getTextAtIndex()",bOK)
+
+ Test.StartMethod("getTextBeforeIndex()")
+ bOK = true
+ accTextSegment = oObj.getTextBeforeIndex(1, 1)
+ bOK = bOK AND (accTextSegment.SegmentText = utils.getCharacter(1,accText))
+ Test.MethodTested("getTextBeforeIndex()",bOK)
+
+ Test.StartMethod("getTextBehindIndex()")
+ bOK = true
+ accTextSegment = oObj.getTextBehindIndex(chCount-2,1)
+ bOK = bOK AND (accTextSegment.SegmentText = utils.getCharacter(chCount,accText))
+ Test.MethodTested("getTextBehindIndex()",bOK)
+
+ Test.StartMethod("copyText()")
+ bOK = true
+ bOK = bOK AND oObj.copyText(0,chCount)
+ if readOnly then bOK = true
+ Test.MethodTested("copyText()",bOK)
+
+Exit Sub
+ErrHndl:
+ Test.Exception()
+ bOK = false
+ resume next
+End Sub
+</script:module>