'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2008 by Sun Microsystems, Inc. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' $RCSfile: accessibility_XAccessibleEditableText.xba,v $ ' ' $Revision: 1.4 $ ' ' 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 ' ' 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 hasChangeableAttrs as boolean '************************************************************************* Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.accessibility.XAccessibleEditableText '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean, locRes As Boolean Dim oldText As String, curText As String Dim length As Integer, initialText As String oldText = oObj.getText() initialText = oldText length = oObj.getCharacterCount() Out.Log("Text: "+oldText) Out.Log("Length: "+length) Test.StartMethod("cutText()") bOK = true locRes = oObj.cutText(0,length) curText = oObj.getText() bOK = bOK AND (len(curText) = 0) AND locRes Test.MethodTested("cutText()",bOK) Test.StartMethod("pasteText()") bOK = true locRes = oObj.pasteText(0) curText = oObj.getText() bOK = bOK AND (len(curText) = length) AND locRes Test.MethodTested("pasteText()",bOK) Test.StartMethod("insertText()") Dim insString As String bOK = true insString = "Inserted String" locRes = oObj.insertText(insString,length) curText = oObj.getText() bOK = bOK AND (curText = oldText + insString) AND locRes Test.MethodTested("insertText()",bOK) Test.StartMethod("deleteText()") bOK = true locRes = oObj.deleteText(len(curText) - len(insString),len(curText)) curText = oObj.getText() bOK = bOK AND (curText = oldText) AND locRes Test.MethodTested("deleteText()",bOK) Test.StartMethod("replaceText()") Dim replacement As String Dim endIndex As Integer bOK = true oObj.setText(oldText+"(part of string to replace)") endIndex = len(oObj.getText) replacement = "Replacement string" locRes = oObj.replaceText(len(oldText),endIndex,replacement) curText = oObj.getText() bOK = bOK AND (curText = oldText + replacement) AND locRes Test.MethodTested("replaceText()",bOK) Test.StartMethod("setAttributes()") if hasChangeableAttrs then Dim attrs As Variant, newAttrs As Variant Dim i As Integer bOK = true length = oObj.getCharacterCount() attrs = oObj.getCharacterAttributes(0) for i=0 to ubound(attrs()) if attrs(i).Name = "CharBackColor" then attrs(i).Value = RGB(120,205,40) if attrs(i).Name = "CharHeight" then attrs(i).Value = 30 if attrs(i).Name = "CharColor" then attrs(i).Value = RGB(255,255,255) next i locRes = oObj.setAttributes(0,length,attrs) bOK = bOK AND locRes newAttrs = oObj.getCharacterAttributes(0) bOK = bOK AND PropertyTester.equals(attrs,newAttrs) else Out.Log("Object has no changeable attributes.") bOK = true End If Test.MethodTested("setAttributes()",bOK) Test.StartMethod("setText()") Dim newText As String bOK = true oldText = oObj.getText() newText = "New string" locRes = oObj.setText(newText) curText = oObj.getText() bOK = bOK AND (curText = newText) AND locRes if locRes then Out.Log("Test 1 passed OK.") else Out.Log("Test 1 failed.") End If newText = "" locRes = oObj.setText(newText) curText = oObj.getText() bOK = bOK AND (newText = curText) AND locRes if locRes then Out.Log("Test 2 passed OK.") else Out.Log("Test 2 failed.") End If locRes = oObj.setText(oldText) curText = oObj.getText() bOK = bOK AND (curText = oldText) AND locRes if locRes then Out.Log("Test 3 passed OK.") else Out.Log("Test 3 failed.") End If Test.MethodTested("setText()",bOK) out.dbg("Setting initial text: " + initialText ) oObj.setText(initialText) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub